/var/log/maillog日誌太大佔滿/var空間如何清理
一、情景描述
節點磁碟空間告警,使用df -h檢視發現是/var盤滿了,cd進入/var目錄下,du -sch log/ 發現是log目錄佔用空間大,cd切換到log目錄下,du -dh *檢視是因為maillog日誌太大導致的,故需要清理maillog日誌。
二、處理過程
我是想將maillog分割成幾個小檔案,再刪除很久之前的資料,但是/var空間滿了,我就將maillog移動到/tmp目錄下進行分割。
①mv /var/log/maillog /tmp
②split -b 500M /tmp/maillog
分割完成後我就將/var/log/maillog檔案和/tmp/maillog刪除了,想要將分割好的小檔案移動到/var/log下,但是還是提示沒有空間,使用df -h檢視發現/var使用率100%了,但是在/var下的各個目錄都很小,然後檢視delete程序。
③lsof | grep delete 找到了刪除/var/log/maillog的程序。
④kill -9 PID 刪除對應的程序。
至此空間告警恢復,再將之前分割好的小檔案移動到/var/log下即可。
三、補充清空日誌方法
查詢開啟/var/log/messages檔案的程序的程序ID(PID):
lsof | grep messages
得到輸出:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
rsyslogd 1455 root 4w REG 8,6 1299113404 2686 messages
abrt-dump 1932 root 4r REG 8,6 1299113404 2686 messages
結束生成messages的程序:
kill -9 1455
kill -9 1932
清空日誌並重啟:
cat /dev/null > /var/log/messages
reboot