最近寫了幾個在crond中使用的python定時執行腳本。其中使用了datetime包中的timedelta的total_seconds()方法。配置定時執行的方式也很簡單,就寫成了python
*/5 * * * * root python abc.pyshell
寫好後,發現定時執行的腳本每次執行都會報錯,說找不到total_seconds方法。在腳本中導入platform包打印python_version,發現定時執行中使用的python竟然是系統自帶的python 2.6版本。很是奇怪,我以前已經安裝配置了python 2.7,且每次本身在shell中都是使用的python 2.7,怎麼crond中定時腳本還在使用老的python 2.6。orm
試了好幾種方法都沒解決,沒辦法了,使用which python命令得到當前shell中python的路徑/usr/local/bin/python,而後把定時執行的命令改成了:io
*/5 * * * * root /usr/local/bin/python abc.pyform
這樣才解決了問題。配置