通过电子邮件正文中的日志获取cronjob脚本执行的日志

时间:2018-07-13 12:47:07

标签: linux shell email cron

我正在尝试执行cron作业,以便在脚本执行后立即向我发送电子邮件,并将最新的日志记录到电子邮件正文中

21 14 * * * /opt/anaconda/bin/python /Path/to/Script/script.py >> /Path/to/logfile/log.txt 2>&1 | mail -s "cronjob OK" "first@mail.x,second@mail.x"

我该怎么做?我应该添加什么?

谢谢。

1 个答案:

答案 0 :(得分:1)

您的脚本没有产生任何输出,因为您只是将其重定向到文件。

cron仍将通过电子邮件将任何输出发送给cron作业的所有者。在某些MAILTO实现中,您可以使用cron指定其他地址。

MAILTO=first@mail.x,second@mail.x
21 14 * * * /opt/anaconda/bin/python /Path/to/Script/script.py 2>&1 | tee -a /Path/to/logfile/log.txt

tee命令将标准输入的副本保存到文件(-a说要追加而不是覆盖)并保存到标准输出。

如果您需要对生成的消息进行更多控制(例如,如果不接受Cron,则使用不同的Subject:标头),可以保留tee,但将管道重新放置到mail