【问题标题】:CRON Job Not ProcessingCRON 作业未处理
【发布时间】: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 不会更新。

标签: python cron crontab


【解决方案1】:

我解决了这个问题。无论出于何种原因,我的托管服务都要求将命令括在引号中。

# canary
MAILTO="pcperini@aim.com"
# 1 myapp
* * * * * "$HOME/html/cron/app/myapp.py"

【讨论】:

    猜你喜欢
    • 2014-11-04
    • 2011-08-15
    • 2015-12-13
    • 2014-05-27
    • 2014-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多