我正在尝试执行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"
我该怎么做?我应该添加什么?
谢谢。
答案 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
。