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


      今天上班接到投诉~公司某个web应用访问很蜗牛...

      接到投诉迅即处理是我等敬业一族的最佳体现~~

      服务器托管在IDC机房,装的是Red Hat操作系统,慢???无非是几个原因:系统资源被某些应用强势占有、网络问题、应用挂了、磁盘空间不足。。。

      网络问题首先排除,毕竟是花钱买的网络,电信机房还是比较可靠嘀~
      登录到服务器后台检查一下内存使用情况,比较正常,再用df -h一看,找到问题了,根目录硬盘使用100%。。。
      再用du -h --max-depth=2看看各目录的空间大小情况~~找到大牛了。。目标/var/spool/clientmqueue,里面的文件数多达30万。。。目录大小86G。。。硬盘空间就是如此流逝的,彻底晕菜!

      手动清理了/var/spool/clientmqueue目录下所有文件后,硬盘空间迅速飙升,web访问快了,人开心了,腿也不抽筋了~偶也!!!


/var/spool/clientmqueue目录文件的由来:
如果系统中有用户开启了cron,而cron中执行的程序有输出内容,输出内容会以邮件形式发给cron的用户,而sendmail没有启动所以就产生了这些文件。

鉴于本人所管辖之服务器的情况,确实通过cron定时执行数十个脚本,而且都没有设置输出定向,所以日积月累的文件都被保存在
/var/spool/clientmqueue目录下面。

cron输出从定向:
很简单,在cron的自动执行语句后加上> /dev/null 2>&1
例:
9 9 * * * /usr/local/bin/cvsb > /dev/null 2>&1
关于cron的详细说明请看
《Linux计划任务工具cron用法详解


补充一下:
如果/var/spool/clientmqueue目录文件太多,用rm -rf *是会提示“-bash: /bin/rm: Argument list too long“。。。
意思是参数太长,无法直接用rm干掉之
这时可以使用ls | xargs rm -f 命令将/var/spool/clientmqueue目录下所有文件删除。

cd /var/spool/clientmqueue
ls | xargs rm -f
文件越多,等待删除时间越长~放心等候吧~结果是美好的!!!

呵呵~~