经常会遇到这样的问题,登陆系统或者敲命令时,系统总会提示: 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中定义了收件人,所以我们把收件人滞空就可以了。 其实最根本的方法还是大家养成脚本规范的好习惯。
没有评论:
发表评论