使用crontab定时执行py

问题

直接执行能够正确完成的py文件,放在linux crontab中进行定时执行时,发现出异常了……
通过对日志文件进行分析,发现对数据库的访问出现了问题,导致sql语句没有执行-_-!

分析

根据shell脚本的经验,应该是执行的时候没有正确访问到用户(francis)的环境变量。在bash shell中是直接通过source /home/francis/.bash_profile来完成的,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脚本进行定时

参考文章

Linux中crontab的坑爹环境变量问题

你可能感兴趣的:(使用crontab定时执行py)