问题
直接执行能够正确完成的py文件,放在linux crontab中进行定时执行时,发现出异常了……
通过对日志文件进行分析,发现对数据库的访问出现了问题,导致sql语句没有执行-_-!
分析
根据shell脚本的经验,应该是执行的时候没有正确访问到用户(francis)的环境变量。在bash shell中是直接通过<code>source /home/francis/.bash_profile</code>来完成的,py中呢?
解决方案一
在crontab中添加
30 10 * * * source /home/francis/.bash_profile;source /etc/profile;python27 /bin/francis/fileCheck.py >> /bin/francis/log_fileCheck
解决方案二
将py文件放到shell脚本中,在shell脚本开头增加
source /home/francis/.bash_profile;source /etc/profile;
再将该shell脚本进行定时
网友评论