問題:今天我們郵件伺服器收發不了郵件了,而且連接配接到伺服器上開啟服務都開不了,起始以為磁盤空間不足,df 看了一下
檢視磁盤使用情況
<a href="https://s3.51cto.com/wyfs02/M01/8F/AE/wKioL1jps1HyWTWCAABLOifzikU656.png-wh_500x0-wm_3-wmp_4-s_723293404.png" target="_blank"></a>
檢視inode使用情況
<a href="https://s3.51cto.com/wyfs02/M01/8F/AE/wKioL1jps5fQlZvzAABNa3kJMnE888.png-wh_500x0-wm_3-wmp_4-s_3860810087.png" target="_blank"></a>
解決方法:通過以下腳本進行檢查,檢視到底哪個目錄下面的檔案最多:
for i in /*; do echo $i; find $i | wc -l; done(如果确定是某個目錄下面,則/轉換為該目錄絕對路徑,如/var/spool,則使用for i in /var/spool/*; do echo $i; find $i | wc -l; done)
最終發現/var/soppl目錄最多。然後又進一步确定是/var/spool/amavisd/quarantine 目錄下面有上百萬個檔案,機器已經無法正常顯示了,後來百度檢視了下這個目錄是郵件伺服器,處理垃圾郵件活病毒郵件隔離的,明白原因了,删除該目錄下所有檔案;使用xargs指令來删除數量比較多的檔案:
ls | xargs -n 10 rm -rf
執行了大約10多小時之後,最終解決問題。
參考博文:http://www.linuxidc.com/Linux/2014-02/96836.htm
本文轉自1321385590 51CTO部落格,原文連結:http://blog.51cto.com/linux10000/1914248,如需轉載請自行聯系原作者