记crontab脚本未执行问题排查
問題描述
昨晚某個用python寫的監(jiān)控腳本上線,運維小伙伴電話告知手動執(zhí)行結(jié)果正常,但用crontab無論如何也調(diào)不起來,腳本自己打的log也杳無音訊。
檢查
思路
- 告知小伙伴先別忙著改腳本,關(guān)注一下那個old/srcipt.log。然后得知log沒有輸出。
- 修改重定向到/tmp/script.log,觀察到輸出:
這又是哪跟哪?翻出來瞧瞧:
try: f = open('file', 'r') except IOError, e: print >> sys.stderr, e else: somelist = f.readlines() finally: f.close()
對著這段代碼看了足足5分鐘……
有毛病嗎?沒毛病啊?是我眼睛有毛病了?
既然是finally這有語法錯誤,那就滾回去翻翻文檔吧。還好我有服務(wù)器上Python 2.5對應(yīng)的老文檔。
Changed in version 2.5: In previous versions of Python, try...except...finally did not work. try...except had to be nested in try...finally.
Python 2.5 開始支持except跟finally同級,之前版本except要嵌套在try...finally里面。如此說來,難道是版本問題?
# python --version python 2.5.x # which python /usr/local/bin/python記得服務(wù)器是RHEL 5.8,元配python 2.4.3,那么就是crontab默默地調(diào)用了/usr/bin/python
附
問題解決了,但還是沒想明白 source /etc/profile 后為何會去用python2.4,待查。
轉(zhuǎn)載于:https://www.cnblogs.com/qingheng/p/cron-not-execute.html
總結(jié)
以上是生活随笔為你收集整理的记crontab脚本未执行问题排查的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 切割nginx日志
- 下一篇: Linux驱动之Input子系统要点分析