作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
如何在crontab中运行
*/1 * * * * /home/user/Desktop/job/dp/ python manage.py statistics
用虚拟环境?我需要先激活virtualenv(否则不起作用)
这是我的虚拟环境:
source job/bin/activate
最佳答案
已编辑:
尝试这样的事情:
*/1 * * * * . /path-to-env/bin/activate && /home/user/Desktop/job/dp/manage.py statistics
这应该被解读为:激活环境,如果成功,执行 manage.py 脚本。由于 manage.py 应该有一个 python shebang 并且虚拟环境设置了正确的 python 解释器,这应该可以工作。
显然 cron 通常与 /bin/sh
一起运行,它不知道 source
命令。因此,一种选择是使用点作为 source
的替代品。另一个在 cron 文件中设置 /bin/bash
:
SHELL=/bin/bash
*/1 * * * * source /path-to-env/bin/activate && /home/user/Desktop/job/dp/manage.py statistics
阅读有关此问题的更多信息: http://codeinthehole.com/writing/running-django-cronjobs-within-a-virtualenv/这篇文章没有提到 source
可以用 .
代替,但我刚刚试过了,它对我有用。所以你现在有几个选项可供选择,这篇文章甚至还有其他选项。 ;)
关于python - 如何在 crontab + 虚拟环境中运行自定义 manage.py?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14776015/
我是一名优秀的程序员,十分优秀!