
Google에서 시스템 저널을 지우는 안전한 방법을 찾을 수 없습니다. 안전하고 신뢰할 수 있는 방법을 아는 사람이 있나요?
내가 뭔가를 실험하고 있는데 내 로그가 다양한 오류 메시지로 가득 차 있다고 가정해 보겠습니다. 게다가 저는 Conky를 사용하여 데스크탑에 일기장을 표시하고 있습니다. 나는 그 오류를 보고 싶지 않습니다. 내가 이 문제를 고치던 끔찍한 날을 생각나게 하기 때문입니다. 이 공포 이후에 새로운 사람이 된 기분을 느끼고 싶습니다. 나는 이것이 로그를 지우는 타당한 이유라는 점에 모두가 동의할 것이라고 생각합니다.
답변1
자체 유지 관리 방법은 로그를 크기나 시간별로 진공 청소기로 청소하는 것입니다.
지난 이틀 동안만 보관합니다.
journalctl --vacuum-time=2d
지난 500MB만 보존합니다.
journalctl --vacuum-size=500M
man journalctl
자세한 내용은.
답변2
일반적으로 저널을 직접 지우지는 않습니다. 이는 systemd 자체에서 관리되며 새 데이터가 들어오면 오래된 로그는 교체됩니다. 올바른 방법은 관심 있는 만큼의 데이터만 보관하도록 저널링을 예약하는 것입니다. 조정해야 할 가장 일반적인 방법은 전체 디스크입니다. 공간을 차지하도록 허용됩니다. 이 경계를 넘으면 이 값 근처에 머물기 위해 이전 항목을 피칭하기 시작합니다.
이것을 설정할 수 있습니다/etc/systemd/journald.conf
이렇게:
SystemMaxUse=100M
이는 저널 서비스를 다음에 재부팅하거나 다시 시작할 때 적용됩니다.
$ systemctl restart systemd-journald
답변3
마이클의 대답한 가지 빠졌습니다. 진공 청소기로 청소하면 보관된 저널 파일만 제거되고 활성 파일은 제거되지 않습니다. 모든 것을 제거하려면 최근 항목이 비활성 파일로 이동되도록 먼저 파일을 회전해야 합니다.
따라서 제거에 대한 완전한 대답은모두항목은 것 같습니다
sudo journalctl --rotate
sudo journalctl --vacuum-time=1s
(이것을 하나의 journalctl
명령으로 결합할 수는 없습니다.)
그런데 일부 배포판은 디스크에 로그를 기록( /var/log/journal
)하고 다른 배포판은 로그를 메모리( /run/log/journal
)에 보관하도록 저널링 구성되어 있습니다. 어떤 경우에는 sudo journalctl --flush
모든 것을 제거하기 위해 먼저 사용해야 할 수도 있습니다 .
--rotate
해당 버전에 없는 경우 --since
인수를 사용하여 항목을 필터링할 수 있습니다.
--since "2019-01-30 14:00:00"
--since today
답변4
--vacuum-time
그리고 --vacuum-size
나를 위해 아무 일도 하지 않았기 때문에 나는 다음과 같이 했습니다.
$ sudo find /var/log/journal -name "*.journal" | xargs sudo rm
$ sudo systemctl restart systemd-journald
옳지는 않지만 효과가 있었습니다.