首页 > 代码库 > /var/spool/clientmqueue 下生成太多文件处理

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

问题现象:


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 *


如果文件太多,占用空间太大,用上面命令删除慢的话,就执行下面的命令:

# cd /var/spool/clientmqueue
# ls | xargs rm -f 

 

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