cron下定时执行python

corntab -e 写的是这个代码

*/1 * * * * /usr/bin/python  /opt/SendEmail.py >> /opt/SendEmail.log

实验成功是可以在opt目录下每一分钟建立log文件,说明执行成功。但是并没有执行py文件。

测试

root@iZ28i8gjs27Z:~# /usr/bin/python  /opt/SendEmail.py

这样是执行成功,说明python路径没有问题。

提问:
我这样该如何解决?

阅读 4.5k
5 个回答

目测是没有/opt/目录下写操作的权限.
可以试试/usr/bin/python /opt/SendEmail.py >> /opt/SendEmail.log 是否也能成功.

应该是crontab的权限问题
用crontab -u root -l 看看这个crontab是否挂在root用户下执行的
如果不是挂在root用户下的,可能对/opt目录没有写权限
霸道的做法
chmod -R 777 /opt
同时关掉selinux

*/1 * * * * root /usr/bin/python /opt/SendEmail.py >> /opt/SendEmail.log

我之前遇到过类似这种问题
你看下/var/log/cron日志命令是否执行
如果看时间确实执行了命令,那你再试试把/usr/bin/python /opt/SendEmail.py命令写到其他脚本里执行(比如说叫a.sh),然后定时去执行a.sh这个脚本

推荐问题
宣传栏