corntab -e 写的是这个代码
*/1 * * * * /usr/bin/python /opt/SendEmail.py >> /opt/SendEmail.log
实验成功是可以在opt目录下每一分钟建立log文件,说明执行成功。但是并没有执行py文件。
测试:
root@iZ28i8gjs27Z:~# /usr/bin/python /opt/SendEmail.py
这样是执行成功,说明python路径没有问题。
提问:我这样该如何解决?
看看有没有可能是selinux的问题,我之前也碰到过类似的问题:http://segmentfault.com/q/1010000000442448
目测是没有/opt/目录下写操作的权限.可以试试/usr/bin/python /opt/SendEmail.py >> /opt/SendEmail.log 是否也能成功.
应该是crontab的权限问题用crontab -u root -l 看看这个crontab是否挂在root用户下执行的如果不是挂在root用户下的,可能对/opt目录没有写权限霸道的做法chmod -R 777 /opt同时关掉selinux
我之前遇到过类似这种问题你看下/var/log/cron日志命令是否执行如果看时间确实执行了命令,那你再试试把/usr/bin/python /opt/SendEmail.py命令写到其他脚本里执行(比如说叫a.sh),然后定时去执行a.sh这个脚本
*/1 * * * * root /usr/bin/python /opt/SendEmail.py >> /opt/SendEmail.log