首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Cron发送带有STDERR而不是STDOUT的电子邮件?

Cron发送带有STDERR而不是STDOUT的电子邮件?
EN

Stack Overflow用户
提问于 2009-09-08 21:50:17
回答 6查看 27.3K关注 0票数 19

我有一些在cron中每天运行的python脚本。当我的脚本有STDERR输出时,我怎么能让cron给我发一封电子邮件?我希望能够向多个收件人发送邮件,并为每个cron条目分别设置主题行。

我试过这个:

代码语言:javascript
复制
./prog > /dev/null | mail . . . 

但它不起作用--当没有STDERR时,我仍然会收到空白电子邮件。我需要在脚本中这样做吗?

如果这看起来很简单,我很抱歉,我已经谷歌了很多次,但似乎找不到简洁的答案。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-09-08 22:13:53

-s文件测试将告诉您文件是否存在以及大小是否大于零。

代码语言:javascript
复制
./prog >/dev/null 2>some/file ; if [ -s some/file ] ; then mail < some/file ; fi
票数 8
EN

Stack Overflow用户

发布于 2009-09-08 21:59:45

对于cron,您不需要通过管道传输邮件。cron守护进程会自动将命令的任何输出通过邮件发送给您。crontab条目应如下所示:

代码语言:javascript
复制
# every minute
* * * * * ./prog >/dev/null

如果没有STDERR输出,您将不会收到任何邮件。

票数 26
EN

Stack Overflow用户

发布于 2010-03-06 04:17:18

mail v1.6有一个不发送空正文邮件的选项:

代码语言:javascript
复制
 -E      Do not send messages with an empty body.  
         This is useful for piping errors from cron(8) scripts.

这可能就是你要找的。

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1396506

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档