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

/var/spool/clientmqueue下生成太多文件处理

2011-12-14 18:07 246 查看
问题现象:

linux操作系统中的/var/spool/clientmqueue/目录下存在大量文件。

原因分析:系统中有用户开启了cron,而cron中执行的程序有输出内容,输出内容会以邮件形式发给cron的用户,而sendmail没有启动所以就产生了这些文件;所以这些文件不是什么重要的文件,可以直接删除!

解决办法:

1、 将crontab里面的命令后面加上> /dev/null 2>&1

2、知识点:

2>:重定向错误。

2>&1:把错误重定向到输出要送到的地方。即把上述命令的执行结果重定向到/dev/null,即抛弃,同时,把产生的错误也抛弃。

3、具体代码:

(1)、# crontab -u cvsroot -l

01 01 * * * /opt/bak/backup

01 02 * * * /opt/bak/backup2

(2)、# vi /opt/bak/backup

#!/bin/sh

cd /

getfacl -R repository > /opt/bak/backup.acl

(3)、# vi /opt/bak/backup2

#!/bin/sh

week=`date +%w`

tar zcvfp /opt/bak/cvs$week/cvs.tar.gz /repository >/dev/null 2>&1

4、清除/var/spool/clientmqueue/目录下的文件:

# cd /var/spool/clientmqueue

# rm -rf * (显示参数列表过长(-bash: /bin/rm: Argument list too long)无法用rm直接删除)

如果文件太多,用rm删除很慢,可以以root身份进入/var/spool/clientmqueue/执行下面的命令:

# cd /var/spool/clientmqueue

# ls | xargs rm -f

回车后,过了两三分钟,终于执行完了,clientmqueue下空空如也.

5、crontab 中注意脚本输出后的错误抛弃:

[oracle@linux-125 ~]$ crontab -l

0 5 * * * /data/orabak/some.sh>/dev/null 2>&1

0 1 * * * /data/orabak/expor.sh>/dev/null 2>&1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: