我在通常的位置创建了一个自定义管理命令作为py文件。在
计时器安装位置正确,同步正常。在
我创建了如下cron作业
* * * * * /home/shofty/virtualenvs/webbricks/bin/chronograph -e /home/shofty/virtualenvs/webbricks/bin/activate_this.py -p /home/shofty/virtualenvs/webbricks/website
我还尝试了以下方法,因为我认为这可能是正确的,但不是文档中的内容
^{pr2}$我添加了管理.pycron,因为它是你运行的告诉计时功能来寻找需要运行的作业。如果我在虚拟环境中运行管理.pycron它可以工作,作业也可以运行。在
这两个作业都无法运行,但当我以su或我的用户身份尝试手动运行它们时,由于权限被拒绝而失败。不知道他们指的是什么许可。有人见过这个吗?在
答案是计时器.sh已经被计时器取代了。尽管这被认为能够激活一个env,但它还没有足够早地导入argparse,据我所知,它不是python2.5内置的,而是在2.6中。然后就要为计时脚本找到正确的论据组合,作为参考的是a-p和an-e,而不是an-s
另外,我必须以root用户身份运行脚本,但目标是用户virtualenv中的脚本。在
最后,我还必须将packages目录的站点路径添加到chronograph脚本中,因为在我完成之前,它无法找到argparse。在
使用虚拟环境时: 包括一个名为
chronograph.sh
的脚本。复制此文件 到项目目录。在您需要打开此脚本并修改虚拟环境的
^{pr2}$activate
的路径 脚本:确保此文件是可执行的,然后更新您的
crontab
以执行 脚本。在然后: crontab-e公司
确保将
/path/to/your/project
作为第一个参数传递给脚本。 这将确保cron
在查找项目目录时不会出现问题。在您可能会发现这对您的文件权限问题非常有用。File permission basics
您是否尝试以适当的用户/服务运行cron作业?在
要编辑其他Linux用户的crontab条目,请登录到root并使用-u{username}-e,如下所示。在
相关问题 更多 >
编程相关推荐