H5W3
当前位置:H5W3 > python > 正文

【Python】cron下定时执行python

corntab -e 写的是这个代码

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

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

测试

[email protected]:~# /usr/bin/python  /opt/SendEmail.py

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

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

回答

目测是没有/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

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

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

本文地址:H5W3 » 【Python】cron下定时执行python

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址