/var/spool/clientmqueue/目录异常增大

 

警惕/var/spool/clientmqueue/目录变大

/var/spool/clientmqueue/目录莫名其妙的大,为什么这个目录会这么大呢? 

这要从/var/spool/clientmqueue/这个目录的作用谈起。 

当你使用简单的sendmail发邮件的时候,或者系统默认要发一些邮件(比如cron发的邮件)的时候, 

首先会把邮件拷贝到这个目录里,然后等待MTA(mail transfer agent) 来处理,MTA 

做的事情通常是把这个目录中的邮件弄到/var/spool/mqueue里,然后再发送到真正的目的地。 

出现/var/spool /clientmqueue/非常大的情况通常因为没有合适的MTA发送邮件,就都积累 

在这里了,假如这里的邮件并不是你需要的,比如是系统默认发的每分钟跑一次的什么什么cron的信, 

你可以简单的删掉他们。当然,文件多了一些,直接rm -f *,系统可能会说argument too long什么的. 

解决办法: 

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/shcd / 
getfacl -R repository > /opt/bak/backup.acl 

(3)、# vi /opt/bak/backup2#!/bin/shweek=`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

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

解决办法:
     将crontab里面的命令后面加上 > /dev/null 2>&1。 如:ls -l / > /dev/null 2>&1

你可能感兴趣的:(/var/spool/clientmqueue/目录异常增大)