Linux系統(tǒng)下 /var/log/journal/ 垃圾日志能否被清理?首先答案是肯定的。journal目錄下是Linux的系統(tǒng)的運行日志,隨著服務(wù)器運行的時間越久,產(chǎn)生的垃圾越多,為了發(fā)揮服務(wù)器額最大性能,可以清理journal目錄下的log日志。
Linux 系統(tǒng)也會在使用很長一段時間后出現(xiàn)硬盤空間開始不夠的情況,而這并不一定是正常使用的文件占用,而是像 Windows 系統(tǒng)一樣,在系統(tǒng)的運行和使用中會出現(xiàn)垃圾日志,就像 CentOS 系統(tǒng)中有兩個日志服務(wù),分別是傳統(tǒng)的 rsyslog 和 systemd-journal 就會自動生成一些系統(tǒng)日志,久而久之就造成了服務(wù)器存儲空間的浪費。
systemd-journald 是一個改進型日志管理服務(wù),可以收集來自內(nèi)核、系統(tǒng)早期啟動階段的日志、系統(tǒng)守護進程在啟動和運行中的標準輸出和錯誤信息,還有 syslog 的日志。systemd-journal 日志服務(wù)僅僅把日志集中保存在單一結(jié)構(gòu)的日志文件/run/log 中,由于日志是經(jīng)歷過壓縮和格式化的二進制數(shù)據(jù),所以在查看和定位的時候很迅速。
默認情況下并不會持久化保存日志,只會保留一個月的日志。一些 rsyslog 無法收集的日志也會被 journal 記錄到。
rsyslog 作為傳統(tǒng)的系統(tǒng)日志服務(wù),把所有收集到的日志都記錄到ar/log/目錄下的各個日志文件中。
常見的日志文件如下:
|
|
查看垃圾文件的方法
未清理前發(fā)現(xiàn)硬盤根分區(qū)空間告急,用 du -t 100M ar/log/ 或 journalctl –disk-usage 命令查看。
清空 ar/log/journal 文件的方法
1、用 echo 命令,將空字符串內(nèi)容重定向到指定文件中
echo "" > system.journal
說明:此方法只會清空一次,一段時間后還要再次手動清空很麻煩,這里可以用以下命令讓 journalctl 自動維護空間
2、journalctl 命令自動維護文件大小
1)只保留近一周的日志
journalctl --vacuum-time=1w
2)只保留 500MB 的日志
journalctl --vacuum-size=500M
如果使用的是寶塔面板管理服務(wù)器的話,可以直接通過寶塔面板依次查看文件的大小,再找到j(luò)ournal目錄,然后進行手動刪除,手動刪除后時間久了,系統(tǒng)日志文件也會變得增加。所以建議使用命令刪除的方法。