经常会遇到这样的问题,登陆系统或者敲命令时,系统总会提示:
You have new mail in /var/spool/mail/root
有时很烦,具体产生的原因如下:
cron中执行的脚本有输出导致的。很多人写脚本都不考虑标准输出和错误输出如何处理,这样一旦有输出,cron就会把输出内容发邮件给当前用户。很多网上说的停止MTA(sendmail or postfix)等是不管用的,删除sendmail命令也不行。
比较普通的处理方法就是在每条cron后面添加如下方法进行屏蔽。
- >/dev/null 2>&1.
- OR
- &> /dev/null
如:
*/2 * * * * /usr/local/sbin/dog_lighttpd.sh >/dev/null 2>&1
但是有时候还不够方便,比如刚接手的一个项目,里面已经写了300多条cron了,即使写脚本添加屏蔽也比较烦。
那么还有更简单的方法:
直接:crontab -e
在第一行添加:MAILTO=""
原来在/etc/crontab中定义了收件人,所以我们把收件人滞空就可以了。
其实最根本的方法还是大家养成脚本规范的好习惯。
阅读(9743) | 评论(0) | 转发(0) |