我有一些在cron中每天运行的python脚本。当我的脚本有STDERR输出时,我怎么能让cron给我发一封电子邮件?我希望能够向多个收件人发送邮件,并为每个cron条目分别设置主题行。
我试过这个:
./prog > /dev/null | mail . . .
但它不起作用--当没有STDERR时,我仍然会收到空白电子邮件。我需要在脚本中这样做吗?
如果这看起来很简单,我很抱歉,我已经谷歌了很多次,但似乎找不到简洁的答案。
发布于 2009-09-08 22:13:53
-s
文件测试将告诉您文件是否存在以及大小是否大于零。
./prog >/dev/null 2>some/file ; if [ -s some/file ] ; then mail < some/file ; fi
发布于 2009-09-08 21:59:45
对于cron,您不需要通过管道传输邮件。cron守护进程会自动将命令的任何输出通过邮件发送给您。crontab条目应如下所示:
# every minute
* * * * * ./prog >/dev/null
如果没有STDERR输出,您将不会收到任何邮件。
发布于 2010-03-06 04:17:18
mail v1.6有一个不发送空正文邮件的选项:
-E Do not send messages with an empty body.
This is useful for piping errors from cron(8) scripts.
这可能就是你要找的。
https://stackoverflow.com/questions/1396506
复制相似问题