
我在谷歌中找不到任何安全的方法來清除系統日誌。有人知道有什麼安全可靠的方法嗎?
假設我正在嘗試一些東西,並且我的日誌中充滿了各種錯誤訊息。此外,我使用 Conky 在桌面上顯示我的日記。我真的不想看到這些錯誤,因為它們讓我想起了修復這些東西的糟糕一天,在經歷了這場恐怖之後,我想感覺自己像個新鮮人。我想每個人都會同意這是清除日誌的正當理由:P。
答案1
自我維護方法是按尺寸或時間對原木進行真空吸塵。
僅保留過去兩天:
journalctl --vacuum-time=2d
僅保留過去的 500 MB:
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
這是不對的,但它有效。