歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux磁盤空間不足之inode

Linux磁盤空間不足之inode

日期:2017/2/28 15:28:32   编辑:Linux教程
# crontab -e
編輯好之後保存
crontab: installing new crontab
cron/tmp.xxx1222: No space left on device
crontab: edits left in /tmp/crontab.xxx1222
報錯是表示磁盤滿了

# df -hl
文件系統 容量 已用 可用 已用% 掛載點
/dev/sda1 29G 24G 3.4G 88% /
/dev/sda5 94G 406M 89G 1% /date
tmpfs 467M 0 467M 0% /dev/shm
/dev/sda2 19G 2.5G 16G 14% /home
也還好, 磁盤空間還有很大的剩余, 後來想了一下, 這個不一定是磁盤滿了, 也可能是inode用完了

# df -i
文件系統 Inode (I)已用 (I)可用 (I)已用% 掛載點
/dev/sda1 7685440 7684646 794 99% /
/dev/sda5 25427968 10569 25417399 1% /date
tmpfs 119383 1 119382 1% /dev/shm
/dev/sda2 5124480 4244 5120236 1% /home

真的是inode用完了,磁盤沒法再寫入新的內容了,這個是某些臨時的小文件太多了,把inode用完了,把它刪掉就行了。
最有可能的是那個目錄呢?? 呵呵,想都不用想了
# find /var/spool/clientmqueue -type f -print -exec rm -f {} \;

這個命令中 /var/spool/clientmqueue 是要刪除的文件所在的目錄 -type f這個參數限定find只查找普通文件(即不是管道文件,不是塊文件,不是鏈接文件,不是目錄等),防止誤刪除系統文件。
原因分析:系統中有用戶開啟了cron,而cron中執行的程序有輸出內容,輸出內容會以郵件形式發給cron的用戶,而sendmail沒有啟動所以就產生了這些文件;
解決辦法:
將crontab裡面的命令後面加上 > /dev/null 2>&1
或者
crontab裡面的命令後面加上 > /dev/null
Copyright © Linux教程網 All Rights Reserved