我制作了一个名为update
的管理应用程序。以下工作正常来自命令行:
./manage.py update
/full/path/manage.py update
但是当我有以下cron命令时:
00 */3 * * * /websites/bnc/manage.py update >/dev/null
它通过电子邮件将此错误发送给我:
未知命令:'update'
输入'manage.py help'以供使用。
它闻起来像路径问题,但我无法看到,因为我可以从任何地方手动调用它。知道这里发生了什么吗?
答案 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
PYTHONPATH=...
添加前缀