Linux下inodes佔用太高的問題

最近服務器收到監控報警,提示inodes佔用超過80%。node

網上查了下發現是由於小文件太多致使的。最後發現是緣由是由於:linux

Linux 中/var/spool/postfix/maildrop目錄下堆積大量小文件,網上有不少解決方案。因而決定選擇最簡單的一種,刪除目錄下的文件(在這個文件夾下千萬不要用ll等命令,文件超級多,展現就是半天!)服務器

產生這些文件的緣由:是因爲linux在執行cron時(使用man cron能夠查看相關描述),會將cron執行腳本中的output和warning信息,都會以郵件的形式發送cron全部者, 而個人服務器中關閉了postfix,致使郵件發送不成功,所有小文件堆積在了maildrop目錄下面。若是sendmail或者postfix正常運行,則會在/var/mail目錄下也會堆積大量的郵件。post

準備使用rm -rf刪除(這個命令要當心使用,一旦刪錯後果很嚴重),結果發現提示錯誤rest

原來發現文件數量太多,沒法刪除0 0.crontab

最後找到以下命令解決:監控

ls | xargs -n 10 rm -fr lsservice

命令解釋爲:輸出全部的文件名(用空格分割) xargs就是將ls的輸出,每10個爲一組(以空格爲分隔符),做爲rm -rf的參數也就是說將全部文件名10個爲一組,由rm -rf刪除方法

最終刪除文件成功,inodes佔用下降im

網上還要一些能避免產生這類文件的方法:

vi /etc/crontab ;將‘MAILTO=root’替換成‘MAILTO="",而後service crond restart便可。如不行crontab -e 第一行增長MAILTO=""

相關文章
相關標籤/搜索