# 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
Linux磁盘空间不足之inode
内容版权声明:除非注明,否则皆为本站原创文章。