如何禁止cron发用户邮件

9798阅读 0评论2012-09-04 公子月
分类:系统运维


经常会遇到这样的问题,登陆系统或者敲命令时,系统总会提示:
You have new mail in /var/spool/mail/root
有时很烦,具体产生的原因如下:
cron中执行的脚本有输出导致的。很多人写脚本都不考虑标准输出和错误输出如何处理,这样一旦有输出,cron就会把输出内容发邮件给当前用户。很多网上说的停止MTA(sendmail or postfix)等是不管用的,删除sendmail命令也不行。
比较普通的处理方法就是在每条cron后面添加如下方法进行屏蔽。

点击(此处)折叠或打开

  1. >/dev/null 2>&1.
  2. OR
  3. &> /dev/null
如:
*/2 * * * * /usr/local/sbin/dog_lighttpd.sh >/dev/null 2>&1
但是有时候还不够方便,比如刚接手的一个项目,里面已经写了300多条cron了,即使写脚本添加屏蔽也比较烦。
那么还有更简单的方法:
直接:crontab -e
在第一行添加:MAILTO=""

原来在/etc/crontab中定义了收件人,所以我们把收件人滞空就可以了。

其实最根本的方法还是大家养成脚本规范的好习惯。


上一篇:安装编译zabbix2.0.2
下一篇:LXC 命令列表