系統:Centos;一般的Linux系統也可以用這種方法。
情況描述:今天session文件寫入時,寫入不了,而且連接到服務器上開啟服務都開不了,起始以為磁盤空間不足
出現這個錯誤第一反應是空間滿了。
df -h 一看卻發現還有挺多沒有用
df -i 一看發現是inodes空間滿了
df 看了一下
發現空間是足夠的,然后df -i 查看了下inodes,發現根目錄下的inodes值使用率為100%了,目前已解決,為9%
解決方法:通過以下腳本進行檢查,查看到底哪個目錄下面的文件最多:
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/clientmqueue 目錄下面有幾十萬個文件,機器已經無法正常顯示了,后來百度查看了下這個目錄是郵件服務器,處理垃圾郵件活病毒郵件隔離的,明白原因了,刪除該目錄下所有文件;使用xargs命令來刪除數量比較多的文件:
cd /var/spool/clientmqueue
ls | xargs rm -f