【python】crontab调用python的注意事项

来源:互联网 发布:淘宝二手雷蛇耳麦 编辑:程序博客网 时间:2024/05/20 13:09
1.  删除或编辑
    crontab -e 
    不过crontab默认的编辑器是vi, 而一般系统使用的是vim, 这样.vimrc可能照出vi读取配置文件出错, 这样crontab -e显示出来的是空白
     所以需要把默认的编辑器改成vim, 在.bashrc设置
 export EDITOR=vim    至于如果编辑,网上一堆,这里就不写了

2. 调用的脚本有使用gtk等x window系统, 需要export DISPLAY环境变量
 */1 9-15 * * 1-5 export DISPLAY=:0 && /home/terry/python/web/stockdaemon.py
3. 调用python 脚本的注意实现
    如果程序是从if __name__ == "__main__": 开始执行的话, 在shell中可以运行执行,但在crontab中不能执行, 所以脚本要调用的函数不能在if __name__ == "__main__": 中
   如
 def run():
       print "run"

if __name__ == "__main__":
     run()上面的脚本不会在crontab中运行, 需要改成下面的方式
 def run():
       print "run"

run()
4. 当前目录的问题, 配置文件等要使用绝对路径

 logging.config.fileConfig("log.conf")
由于crontab执行的时候,脚本的当前目录已经改变, 这个时候log.conf会找不到, 就会造成程序错误退出

应该改成如下形式
 logging.config.fileConfig("/home/terry/python/web/log.conf")