python - 由于权限问题,django-chronograph 脚本不会从 cron 作业运行或手动运行

标签 python django linux cron debian

我在通常的地方创建了一个自定义管理命令作为 py 文件。

计时码表安装在正确的位置并且同步正常。

我已经按照以下方式创建了 cron 作业

* * * * * /home/shofty/virtualenvs/webbricks/bin/chronograph -e /home/shofty/virtualenvs/webbricks/bin/activate_this.py -p /home/shofty/virtualenvs/webbricks/website

我还尝试了以下方法,因为我认为它可能是正确的,但文档中的内容不正确

* * * * * /home/shofty/virtualenvs/webbricks/bin/chronograph -e /home/shofty/virtualenvs/webbricks/bin/activate_this.py -p /home/shofty/virtualenvs/webbricks/website/manage.py cron

我已经添加了 manage.py cron,因为您运行它来告诉计时功能寻找需要运行的作业。如果我在我的虚拟环境中并且我运行 manage.py cron 它工作并且作业运行。

这两个作业都无法运行,但是当我尝试以 su 或我的用户身份手动运行它们时,它们因权限被拒绝而失败。不确定他们指的是什么许可。以前有人遇到过这个吗?

最佳答案

答案是 chronograph.sh 已被 chronograph 取代。尽管这据说能够激活一个环境,但它并没有足够早地导入 argparse,据我所知,它不是内置于 python 2.5,而是在 2.6 中。然后就是为计时码表的脚本找到正确的参数组合,供引用的是 -p 和 -e,但不是 -s。

我还必须以 root 身份运行脚本,但将脚本定位到用户 virtualenv 中。

最后,我还必须将包目录的站点路径添加到计时码表脚本中,因为在我这样做之前它无法找到 argparse。

关于python - 由于权限问题,django-chronograph 脚本不会从 cron 作业运行或手动运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7432422/

相关文章:

linux - 在 bash 脚本中创建嵌套 for 循环

linux - open() 是否将文件加载到 ram 上?

python - 卡住 Python 应用程序时创建更少的文件

python - 添加 SlugField 字段类型时出现问题 (Django 1.6.3)

python - Tkinter 'label' 小部件 - 换行符随机添加空格

python - Django heroku 上传文件

javascript - Django 中的电子邮件确认实现

linux - 是否可以创建一个脚本来保存和恢复权限?

python - WSGI/Django : pass username back to Apache for access log

python - Django:如何从多个模型中按日期获取对象?