使用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

我有一个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
虽然我只收到一封标题为“奥斯水平报告”的邮件,但邮件的正文是空的

更新:
我似乎从/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脚本是否确实输出了内容吗?即,日志文件不是空的。如果你的脚本只输出错误消息,那么你当前的设置不会发送或记录这些错误消息。是的,当我手动运行它时,脚本工作正常,我已经对它进行了多次测试