在Centos6中运行cron作业比较新,我似乎无法让这个Python脚本正确执行。我希望这个脚本执行,然后通过电子邮件发送给我输出。我一直在接收电子邮件,但它们都是空的。
到目前为止,在Crontab我尝试进入:
*/10 * * * * cd /home/local/MYCOMPANY/purrone/MyPythonScripts_Dev1 && /usr/bin/python ParserScript_CampusInsiders.py > /var/log/cron`date +\%Y-\%m-\%d-\%H:\%M:\%S`-cron.log 2>&1 ; mailx -s "Feedparser Output" my@email.com
和
*/10 * * * * /home/local/MYCOMPANY/purrone/MyPythonScripts_Dev1/ParserScript_CampusInsiders.py > /var/log/cron`date +\%Y-\%m-\%d-\%H:\%M:\%S`-cron.log 2>&1 ; mailx -s "Feedparser Output" my@email.com
我在python脚本上运行chmod +x
以使脚本可执行,并且Python脚本在标题处有#!/usr/bin/env python
。我在这做错了什么?
另一个问题可能是我不应该使用日志文件?我用cat cron打开时在/ var / log / cron中看到的所有内容都是这样的,例如(脚本没有实际输出):
Jul 23 13:20:01 ent-mocdvsmg01 CROND[24681]: (root) CMD (/usr/lib64/sa/sa1 1 1)
Jul 23 13:20:01 ent-mocdvsmg01 CROND[24684]: (MYJOB\purrone) CMD (/home/local/MYCOMPANY/purrone/MyPythonScripts_Dev1/ParserScript_CampusInsiders.py > /var/log/cron`date +\%Y-\%m-\%d-\%H:\%M:\%S`-cron.log 2>&1 ; mailx -s "Feedparser Output" my@email.com)
答案 0 :(得分:1)
您的mailx
输入中没有任何内容;它期望 stdin 上的消息。尝试在crontab之外运行它作为测试,直到它发送有效的电子邮件。你可以测试:
% echo hello |mailx -s test my@email.com
请注意,cron可以通过电子邮件向您发送其运行的输出。您只需要在crontab
的顶部添加一行,如:
MAILTO = you@email.com
答案 1 :(得分:0)
解决方案是省略重定向>
,而是编辑Crontab:
*/15 * * * * /home/local/COMPANY/malvin/SilverChalice_CampusInsiders/SilverChalice_Parser.py | tee /home/local/COMPANY/malvin/SilverChalice_CampusInsiders`date +\%Y-\%m-\%d-\%H:\%M:\%S`-cron.log | mailx -s "SilverChalice CampusInsiders" my@email.com