今天我设置ssmtp从sendmail给我发电子邮件.然而,我没想到的是像cron这样的应用程序会给我发电子邮件.
备份数据库之前我的一个cron脚本尝试创建路径/年/月/并且由于已经存在年和月,我收到了电子邮件
From: Root Subject: Cron <root@myserver> /path/scripts/MysqLbackup.sh mkdir: cannot create directory `2010': File exists mkdir: cannot create directory `09': File exists
我怎么让它停下来?
它只有一个小时,所以如果这是唯一的错误,我只需要修复脚本.
解决方法
默认情况下,cron会向您发送cronjob的输出消息.更具体地说,它保存了cronjob的stdout(标准输出)和stderr(标准错误输出),并通过电子邮件发送给crontab的所有者,或者crontab中MAILTO变量中命名的用户.
为了防止输出到达您,您必须确保未保存stdout和stderr,而是写入文件或/ dev / null.
你可以在你的工作定义中使用这样的东西来做到这一点:
job.sh > /dev/null 2>&1
这会将stdout重定向到/ dev / null(‘> / dev / null’部分)并将stderr重定向到stdout,从而重定向到/ dev / null(‘2>& 1’部分).奇怪的语法,对吧? 原文链接:https://www.f2er.com/linux/398088.html