【发布时间】:2011-07-14 22:21:58
【问题描述】:
所以,我的 CRON 工作根本无法工作。 有一段时间(大约5小时),脚本myapp.py出现错误,因为密码更改。
在此期间,CRON(可以理解)向我的收件箱发送了大约 300 次相同的失败通知,以致死。 因此,我修复了脚本并将 CRON 作业关闭(阅读:将其注释掉)几个小时,以便它可以完成发送任何未发送的电子邮件并通常冷却下来。 然而,大约 8 小时后,我发现它又向我发送了 200-300 封垃圾邮件,并且在我杀死它时实际上并没有停止运行。 所以我删除了所有这些电子邮件并取消了 CRON 作业的注释,希望它能够正常运行,现在我修复了脚本。
但是,现在它似乎根本没有运行。没有电子邮件进来,也没有任何处理。我的托管服务提供商对 CRON 进行了快速检查,发现其他工作正常运行。
这是我一直在使用的 crontab:
# canary
MAILTO="pcperini@aim.com"
*/1 * * * * /var/chroot/home/content/11/1234567/html/cron/app/myapp.py
python 脚本开头为:
#!/usr/bin/python2.4
这是“which python”为环境返回的路径。该脚本还使用 +x 进行了 chmod,并在调用时(即 ./myapp.py)运行(正确)
【问题讨论】:
-
在这里搜索关于 crontab 的内容,有很多关于调试 crontab 问题的帖子。
-
您可以在脚本中执行类似
/bin/touch /tmp/i-am-alive的操作,以区分是邮件不起作用还是脚本未运行。此外,检查以交互方式发送邮件是否有效(从命令行),以防有人将此机器列入黑名单,因为它生成了太多邮件。 -
在
crontab_file中注释/取消注释行之后,您是否正在运行crontab /path/to/crontab_file?在您这样做之前,crontab 不会更新。