Crontab无法执行Python脚本
crontab
无法执行Python脚本。我用来运行Python脚本的命令行是可以的。
这些是我尝试过的解决方案:
#!/usr/bin/env python
在顶部添加main.py
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
在顶部添加crontab
chmod 777
到main.py
文件service cron restart
我的crontab是:
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
*/1 * * * * python /home/python_prj/main.py
/ var / log / syslog中的日志为:
Nov 6 07:08:01 localhost CRON[28146]: (root) CMD (python /home/python_prj/main.py)
没什么
该main.py
脚本从中的其他模块调用某些方法python_prj
,这有关系吗?
有人可以帮助我吗?
-
main.py脚本从python_prj下的其他模块调用某些方法,这有关系吗?
是的,它确实。所有模块都需要在运行时找到。您可以通过多种方式完成此操作,但最合适的方法是在crontab中设置PYTHONPATH变量。
您可能还希望在crontab中设置MAILTO变量,以便获得包含任何回溯的电子邮件。
[更新]这是我的crontab的顶部:
www:~# crontab -l DJANGO_SETTINGS_MODULE=djangocron.settings PATH=... PYTHONPATH=/home/django MAILTO="cron-notices@example.com" ... # m h dom mon dow command 10-50/10 * * * * /home/django/cleanup_actions.py ...
(每隔10分钟运行一次清理操作,但每小时除外)。