cron找不到Django管理命令

Oli*_*Oli 1 linux django

我做了一个想象中的管理应用程序update.以下工作正常从命令行:

./manage.py update
/full/path/manage.py update
Run Code Online (Sandbox Code Playgroud)

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

00 */3 * * * /websites/bnc/manage.py update >/dev/null
Run Code Online (Sandbox Code Playgroud)

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

未知命令:'update'

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

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

sti*_*osh 5

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

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

00 */3 * * * cd /websites/bnc && ./manage.py update >/dev/null
Run Code Online (Sandbox Code Playgroud)

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