如何清除journalctl

如何清除journalctl

我在谷歌中找不到任何安全的方法來清除系統日誌。有人知道有什麼安全可靠的方法嗎?

假設我正在嘗試一些東西,並且我的日誌中充滿了各種錯誤訊息。此外,我使用 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

這是不對的,但它有效。

相關內容