设置MAILTO=user@example.org
在/etc/cron.daily/foo
不工作。脚本输出未发送到user@example.org。
http://www.unixgeeks.org/security/newbie/unix/cron-1.html上的页面还提出了一种简单的解决方案:
该文件/etc/cron.daily/foo
现在包含以下内容:
#!/bin/sh
/usr/bin/script 2>&1 | mailx -s "$0" stefanl@example.org
这将向'stefanl@example.org'发送一封电子邮件,其主题等于脚本的完整路径(例如/etc/cron.daily/foo
)。
这是Unixgeeks.org关于此内容的内容:
cron的输出
正如我之前说过的,cron的输出被邮寄到进程的所有者或MAILTO变量中指定的人,但是如果您不希望这样做,该怎么办?如果要将输出通过邮件发送给其他人,则只需将输出通过管道发送到命令邮件。例如
cmd | mail -s“邮件主题”用户
有时,我只想从cronjob接收错误,而不是从stdout接收错误,因此我使用了这个技巧。语法乍看之下可能看起来不对,但请放心,它确实有效。以下cronjob将STDOUT发送到/ dev / null,然后通过管道处理STDERR。
doit 2>&1 >/dev/null | mailx -s "$0" stefanl@example.org
同样的事情,但是发送到系统日志:
doit 2>&1 >/dev/null | /usr/bin/logger -t $ME
另请参阅我在ServerFault上对Cronjob stderr的回答以归档和发送电子邮件
/etc/crontab
未指定默认值。