1. 删除或编辑
crontab -e
不过crontab默认的编辑器是vi, 而一般系统使用的是vim, 这样.vimrc可能照出vi读取配置文件出错, 这样crontab -e显示出来的是空白
所以需要把默认的编辑器改成vim, 在.bashrc设置
至于如果编辑,网上一堆,这里就不写了
2. 调用的脚本有使用gtk等x window系统, 需要export DISPLAY环境变量
3. 调用python 脚本的注意实现
如果程序是从if __name__ == "__main__": 开始执行的话, 在shell中可以运行执行,但在crontab中不能执行, 所以脚本要调用的函数不能在if __name__ == "__main__": 中
如
上面的脚本不会在crontab中运行, 需要改成下面的方式
4. 当前目录的问题, 配置文件等要使用绝对路径
如
由于crontab执行的时候,脚本的当前目录已经改变, 这个时候log.conf会找不到, 就会造成程序错误退出
应该改成如下形式
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() |
def run(): print "run" run() |
4. 当前目录的问题, 配置文件等要使用绝对路径
如
logging.config.fileConfig("log.conf") |
应该改成如下形式
logging.config.fileConfig("/home/terry/python/web/log.conf") |