Crontab工作没有开始......想法?

Rad*_*Hex 1 python linux ubuntu cron crontab

感谢帮助我设置我的cron工作,crontab对我来说真的是一个金矿.

不幸的是,我有一个问题,并且不知道它可能是什么......基本上,当邻居工作时,工作没有开始.我会解释一下


这是我的crontabs工作清单:

*/10****python /webapps/foo/manage.py fetch_articles

*/10****python /webapps/bar/manage.py fetch_books

我将它们写在文件中并使用crontab/path/to/file存储它们.

检查crontab -l并且工作在那里.


奇怪的是,其中一个通常每10分钟执行一次......但另一个则没有.我尝试手动输入命令,它没有问题.


有没有人有建议?

非常感谢帮助,谢谢你们.


更新:

我一直在系统日志文件中,我发现了这个:

3月5日02:50:01 localhost CRON [21652] :( root)CMD(python /webapps/foo/manage.py fetch_books)

这是否意味着crontab正在调用这项工作?


谢谢你的回复!


固定它!非常感谢大家!

问题是脚本默默地失败,我相信这是由于PYTHON_PATH因脚本调用的位置而发生变化...我完全确定.

pax*_*blo 6

Cron总是在与你的想法不同的环境中运行:-)

我总是把我的cronjobs设置为:

*/10 * * * * ( date ; python /webapps/foo/manage.py fetch_articles ) >>/tmp/fetch.out 2>&1
Run Code Online (Sandbox Code Playgroud)

确保我可以查看记录的内容.

这会将您的问题缩小到以下任何一个:

  • cron,如果没有出现临时文件; 要么
  • 你的脚本,如果它出现了.

并且,在后一种情况下,希望可以调试一些输出.如果没有,请将输出放在那里.

一种方法是:

set -x
Run Code Online (Sandbox Code Playgroud)

在脚本的顶部,这将导致在执行之前输出所有行.我的所有脚本都会开始:

#!/bin/bash
#set -x
Run Code Online (Sandbox Code Playgroud)

所以我可以在调试时取消注释第二行.