小编Joh*_*ott的帖子

Cron和virtualenv

我试图从cron运行Django管理命令.我正在使用virtualenv来保持我的项目沙箱.

我在这里和其他地方看过一些示例,它们显示了virtualenv中的运行管理命令:

0 3 * * * source /home/user/project/env/bin/activate && /home/user/project/manage.py command arg
Run Code Online (Sandbox Code Playgroud)

但是,即使syslog在任务应该启动时显示一个条目,该任务也从未实际运行(脚本的日志文件为空).如果我从shell手动运行该行,它将按预期工作.

我目前可以通过cron运行命令的唯一方法是打破命令并将它们放入一个愚蠢的bash包装器脚本中:

#!/bin/sh
source /home/user/project/env/bin/activate
cd /home/user/project/
./manage.py command arg
Run Code Online (Sandbox Code Playgroud)

编辑:

ars提出了一个有效的命令组合:

0 3 * * * cd /home/user/project && /home/user/project/env/bin/python /home/user/project/manage.py command arg
Run Code Online (Sandbox Code Playgroud)

至少在我的情况下,调用virtualenv的激活脚本什么也没做.这个有用,等等.

python django cron virtualenv

210
推荐指数
9
解决办法
9万
查看次数

标签 统计

cron ×1

django ×1

python ×1

virtualenv ×1