1. 程式人生 > >Linux報No space left on device錯誤

Linux報No space left on device錯誤

出現這個錯誤第一反應是空間滿了。

df -h 一看卻發現還有挺多沒有用
df -i 一看發現是inodes空間滿了

解決方法

1.刪除掉沒用的臨時檔案,釋放inodes

可以到/tep目錄下看看有沒有很多sess_xxxx的session臨時檔案

ls -lt /tmp | wc -l

如果發現檔案特別多,則:

find /tmp -type f -exec rm {} \;

2.0位元組的檔案也會佔用一個inode,也必須刪除掉

遍歷查詢並刪除

find /home -type f -size 0 -exec rm {} \;

3.遍歷所有檔案目錄找出佔空間大的檔案,進行適當刪除

先遍歷出來佔的空間大的目錄

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/spool底下的郵件相關的特別大。

find /var/spool/exim/msglog/ -type f -name ‘*’ -print0 | xargs -0 rm -rf
find /var/spool/exim/input/ -type f -name ‘*’ -print0 | xargs -0 rm -rf