cron找不到Django管理命令

时间:2010-02-14 12:46:50

标签: linux django

我制作了一个名为update的管理应用程序。以下工作正常来自命令行:

./manage.py update
/full/path/manage.py update

但是当我有以下cron命令时:

00 */3 * * * /websites/bnc/manage.py update >/dev/null

它通过电子邮件将此错误发送给我:

  

未知命令:'update'

     

输入'manage.py help'以供使用。

它闻起来像路径问题,但我无法看到,因为我可以从任何地方手动调用它。知道这里发生了什么吗?

3 个答案:

答案 0 :(得分:5)

我遇到了同样的问题并找到了解决方案,你需要在正确的目录中运行Django管理命令。

对于您的示例,您需要更新crontab,如下所示:

00 */3 * * * cd /websites/bnc && ./manage.py update >/dev/null

像魅力一样工作。我不知道为什么,但是在命令中将这个目录添加到我的PYTHONPATH对我来说不起作用,但上面的工作就像一个魅力。

答案 1 :(得分:1)

环境可能不一样,因此未设置PYTHONPATH / PATH。它可能无法找到import django(或python / lib / site-packages)。

答案 2 :(得分:1)

我正在做类似的事情。尝试使用/websites/bnc/manage.py

在crontab中为PYTHONPATH=...添加前缀