# 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 (责任编辑:IT) |