您的位置:首页 > 产品设计 > UI/UE

清理/var/spool/clientmqueue目录下文件

2010-11-26 17:17 501 查看
今天遇到和原文作者完全一样的情况:有一台机器需要改一下crontab里面的任务

# crontab -e

编辑好之后保存
crontab: installing new crontab
cron/tmp.xxx1222: No space left on device
crontab: edits left in /tmp/crontab.xxx1222

报错是表示磁盘满了

# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 4.9G 664M 4.0G 15% /
none 1006M 0 1006M 0% /dev/shm
/dev/sda2 9.7G 1.8G 7.4G 20% /home
/dev/sda7 1.5G 35M 1.4G 3% /tmp
/dev/sda3 7.7G 3.9G 3.5G 54% /usr
/dev/sda6 2.0G 146M 1.7G 8% /var
/dev/sdb1 466G 9.5G 457G 3% /diskb
/dev/sdc1 466G 17G 450G 4% /diskc
/dev/sda8 438G 4.6M 438G 1% /diske
/dev/sdd1 466G 36G 430G 8% /diskd

也还好, 磁盘空间还有很大的剩余, 后来想了一下, 这个不一定是磁盘满了, 也可能是inode用完了.

# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda1 640000 20259 619741 4% /
none 257437 1 257436 1% /dev/shm
/dev/sda2 1281696 48722 1232974 4% /home
/dev/sda7 192000 1963 190037 2% /tmp
/dev/sda3 1026144 180562 845582 18% /usr
/dev/sda6 256512 256512 0 100% /var
/dev/sdb1 488384000 3008 488380992 1% /diskb
/dev/sdc1 488384000 555484 487828516 1% /diskc
/dev/sda8 459201920 3 459201917 1% /diske
/dev/sdd1 488384000 59456 488324544 1% /diskd

真的是inode用完了,磁盘没法再写入新的内容了,这个是某些临时的小文件太多了,把inode用完了,把它删掉就行了。
最有可能的是那个目录呢?? 呵呵,想都不用想了
# find /var/spool/clientmqueue -type f -print -exec rm -f {} \;

这个命令中 /var/spool/clientmqueue 是要删除的文件所在的目录 -type f这个参数限定find只查找普通文件(即不是管道文件,不是块文件,不是链接文件,不是目录等),防止误删除系统文件。

原因分析:系统中有用户开启了cron,而cron中执行的程序有输出内容,输出内容会以邮件形式发给cron的用户,而sendmail没有启动所以就产生了这些文件;

参考文献:

1. No space left on device

2. /var/spool/clientmqueue 下生成太多文件处理
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: