使用Python脚本发送电子邮件输出并使用crontab每周发送

时间:2016-10-13 21:06:21

标签: python linux macos crontab

我有一个Python脚本,我正在尝试编写一个crontab,并将Python脚本的输出输出到一个文件,然后将该输出发送到一个电子邮件地址(到电子邮件的正文而不是标题)指定的。我的系统详细信息和crontab条目如下:

System details:
Python: 2.7
OSX : 10.11


host$ crontab -l
11 11 13 10 4 2016 python pythonscript.py >> weekly.log | mail -s weekly.log     myemail@.com

虽然当crontab执行时,电子邮件会向我发送一封电子邮件,主题行为“weekly.log”,没有正文。

我还尝试了以下设置的crontab:

07 22 13 10 4 2016 /root/python/osversion_weekly.py | tee   /root/python/osversion`date +\%Y-\%m-\%d-\%H:\%M:\%S`-cron.log | mailx -s "OSLEVEL Report" mymail@server.com

虽然我只收到一封标题为“OSLEVEL Report”的电子邮件,内容为空

更新: 我似乎从/ var / log / cron得到的错误显示“orphan no passwd entry”。不太清楚什么意思,我没有在网上看到任何答案来解决这个问题......

1 个答案:

答案 0 :(得分:0)

>>使python输出附加到文件weekly.log,之后没有输入被推送到mail

您可以删除>> weekly.log并且没有日志文件或使用管道中的程序teetee写入标准输出和文件。

像这样:
python pythonscript.py | tee -a weekly.log | mail -s weekly.log myemail@.com