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
옳지는 않지만 작동합니다.