php脚本错误输出到了邮件临时文件

今天nagios报警,一台服务器的disk满了,使用du -sh * 或 du -sh /* 查看目录的大小,查找占用空间大的目录/var/spool/clientmqueue....

        看了下文件内容, 竟然是php脚本的异常输出, 这个内容为嘛写到了邮件呢, 开始怀疑try catch后的异常进行了邮件发送。分析脚本没有相关内容。 那什么原因呢。 几经baidu\google. 原来/var/spool/clientmqueue是如果系统中有用户开启了cron,而cron中执行的程序有输出内容,输出内容会以邮件形式发给cron的用户,由于一直在写文件,导致文件巨大,而sendmail没有启动所以就产生了这些文件。

服务器上确实有cron定时执行数十个脚本,而且都没有设置输出定向,日积月累的文件都被保存在/var/spool/clientmqueue目录下面乐 = =.

解决方法:在cron的自动执行语句后加上> /dev/null 2>&1
例:
4 3 * * * /usr/bin/w > /dev/null 2>&1
这样就OK拉,就不会写到那个目录下了....

在这里说一点,/var/spool/clientmqueue目录文件太多,rm -rf *时候会提示:

“-bash: /bin/rm: Argument list too long“..
意思是参数太长,rm 干不了。
可以用ls | xargs rm -f这个命令将/var/spool/clientmqueue目录下所有文件删除。

参考:https://www.cnblogs.com/leefan/p/5445415.html

猜你喜欢

转载自blog.csdn.net/bd_jc/article/details/84109647