使用Python脚本输出发送电子邮件,并使用crontab每周发送
我有一个Python脚本,我正在尝试编写一个crontab,并将Python脚本的输出输出输出到一个文件,然后该文件将该输出发送到指定的电子邮件地址(到电子邮件正文而不是标题)。我的系统详细信息和crontab条目如下:使用Python脚本输出发送电子邮件,并使用crontab每周发送,python,linux,macos,crontab,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.l
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
虽然我只收到一封标题为“奥斯水平报告”的邮件,但邮件的正文是空的
更新:
我似乎从/var/log/cron得到的错误是显示“孤儿无密码条目”。我不太清楚这意味着什么,而且我还没有看到任何在线答案来解决这个问题…
使python输出附加到文件weekly.log
,之后没有任何输入被推送到邮件
您可以删除>weekly.log
,而不需要日志文件,也可以在管道中使用程序tee
tee
写入标准输出和文件
像这样:
pythonscript.py | tee-a weekly.log | mail-s weekly.logmyemail@.com
该>
使python输出附加到文件weekly.log
,之后不会将任何输入向前推送到邮件中
您可以删除>weekly.log
,而不需要日志文件,也可以在管道中使用程序tee
tee
写入标准输出和文件
像这样:
pythonscript.py | tee-a weekly.log | mail-s weekly.logmyemail@.com
我试过了,但是我收到的邮件仍然是一个标题,标题是“weekly.log”,邮件中的正文是空的。您是否检查了python脚本是否确实输出了内容?即,日志文件不是空的。如果你的脚本只输出错误消息,这些消息在你当前的设置中不会被发送或记录。是的,当我手动运行脚本时,脚本可以工作,我已经测试过多次了。我试过了,但是我收到的电子邮件仍然是一个标题,标题是“weekly.log”,邮件中的正文是空的。你检查过python脚本是否确实输出了内容吗?即,日志文件不是空的。如果你的脚本只输出错误消息,那么你当前的设置不会发送或记录这些错误消息。是的,当我手动运行它时,脚本工作正常,我已经对它进行了多次测试