我想运行.py脚本:
python /home/project/manage.py slope_update
如果我从shell运行它是可以的,但在cron中不起作用:
*/10 * * * * root python /home/project/manage.py slope_update
什么错?
我从根编辑我的/ etc / crontab文件
SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin # mh dom mon dow user command 17 * * * * root cd / && run-parts --report /etc/cron.hourly 25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --repo$ 47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --repo$ 52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --repo$ # */10 * * * * root /usr/bin/python /home/project/manage.py slope_update
用户量子帮助:
* / 10 * * * * root / usr / bin / python /home/project/manage.py slope_update >> /tmp/foo.log 2>&1
猫foo.log
未知的命令:'slope_update'input'manage.py help'的用法。
为什么slope_update尝试使用命令,但必须有参数如果这个“python /home/project/manage.py slope_update”在terminal运行它的工作。 为什么?
将错误redirect到文件将帮助您更轻松地进行debugging:
*/10 * * * * root python /home/project/manage.py slope_update >> /tmp/foo.log 2>&1
尝试把你的crontab中的Python的完整path例如
*/10 * * * * root /usr/bin/python /home/project/manage.py slope_update
编辑:
问题是,cron中的PATH不包括python安装目录(/ usr / bin),所以你需要提供python的完整path。
编辑编辑:
你正在从你的/ etc / crontab运行这个? 如果不是那么根参数不是必需的,可能会导致问题。
检查电子邮件从cron的邮件,因为它将作业的输出发送给你。
检查你的python生活在哪里,相应地调整crontab中的path。