Cron与virtualenv

我正在尝试从cron运行Django管理命令。我正在使用virtualenv使我的项目保持沙盒状态

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

03***源/主/用户/项目/环境/垃圾箱/激活&amp&amp/home/user/project/manage.py命令arg

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

当前,我可以通过cron运行命令的唯一方法是将命令分解并将其放入哑bash包装器脚本中:

#/垃圾箱/垃圾箱
source/home/user/project/env/bin/activate
cd/主页/用户/项目/
./manage.py命令参数

编辑:

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

03***cd/home/user/project&amp&amp/home/user/project/env/bin/python/home/user/project/manage.py命令arg

至少在我的例子中,调用virtualenv的activate脚本什么也没做。这很管用,节目也是如此

您应该能够通过在虚拟环境中使用python来做到这一点:

/home/my/virtual/bin/python/home/my/project/manage.py命令arg

编辑:如果django项目不在PYTHONPATH中,则需要切换到正确的目录:

cd/home/my/project&amp&amp/home/my/virtual/bin/python。。。

您还可以尝试从cron记录故障:

cd/home/my/project&amp&amp/home/my/virtual/bin/python/home/my/project/manage.py&gt/tmp/cronlog.txt 2&gt&1.

另一个尝试是在顶部的manage.py脚本中进行相同的更改:

#/home/my/virtual/bin/python

发表评论