如何运行自定义管理.py在crontab+虚拟环境中?

2024-04-26 11:28:34 发布

您现在位置:Python中文网/ 问答频道 /正文

如何在crontab中运行

*/1 * * * * /home/user/Desktop/job/dp/ python manage.py statistics

用虚拟环境?我需要先激活virtualenv(否则它不起作用)

这是我的虚拟环境:

^{pr2}$

Tags: pyhomemanagevirtualenv虚拟环境jobdpstatistics
2条回答

已编辑

试试这样的方法:

*/1 * * * * . /path-to-env/bin/activate && /home/user/Desktop/job/dp/manage.py statistics

这应该读作:激活env,如果成功,执行管理.py脚本。因为管理.py应该有一个python shebang和virtual env设置正确的python解释器,这应该可以工作。在

显然cron通常使用/bin/sh运行,它不知道source命令。所以一个选择是使用一个点作为source替换。另一个要在cron文件中设置/bin/bash

^{pr2}$

有关此问题的详细信息,请访问: http://codeinthehole.com/writing/running-django-cronjobs-within-a-virtualenv/ 这篇文章没有提到source可以被.代替,但我刚试过,而且很管用。所以你现在有几个选择,这篇文章甚至还有其他选择。;)

使用类似~/envs/someenv/lib/python /path/to/your/script

在你的情况下

*/1 * * * * ~/envs/someenv/lib/python /home/user/Desktop/job/dp/manage.py statistics

相关问题 更多 >