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路径没有问题。

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

Linux python

Salvado 9 years, 3 months ago

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

落魄的丶华丽 answered 9 years, 3 months ago

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

时が走り出す answered 9 years, 3 months ago

看看有没有可能是selinux的问题,我之前也碰到过类似的问题:
http://segmentfault.com/q/1010000000442448

yamoe answered 9 years, 3 months ago

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

√根号丶狼 answered 9 years, 3 months ago

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

minmin answered 9 years, 3 months ago

Your Answer