python 腳本cron不執行

寫的一個備份腳本,總共7臺機器,有2臺就是不執行。手動可以。cron就是不行。環境都一樣。


後來在郵件中發現相關問題,如下:

Traceback (most recent call last):
  File "/bin/auto_bak.py", line 76, in <module>
    create_tarfile(tar_dir + "/" + dirname, filename, file_list)
  File "/bin/auto_bak.py", line 52, in create_tarfile
    bak_tar = tarfile.open(tar_name + filename, "w:bz2")
  File "/usr/local/python2.7/lib/python2.7/tarfile.py", line 1678, in open
    return func(name, filemode, fileobj, **kwargs)
  File "/usr/local/python2.7/lib/python2.7/tarfile.py", line 1746, in bz2open
    raise CompressionError("bz2 module is not available")
tarfile.CompressionError: bz2 module is not available

感覺很奇怪!這個模塊是安裝了,手動可以執行的。

服務器環境是 CentOS 5.9, 裏面還有 python 2.4。 看樣子還是cron執行時可能用的2.4版本?

嘗試:

unlink /usr/bin/python
ln -s /usr/local/bin/python2.7 /usr/bin/python

再次 cron。 居然搞定!


這個鏈接我安裝2.7時就已經做了。不過是

ln -s /usr/bin/python2.7 /usr/bin/python

查了一下

file /usr/bin/python2.7
/usr/bin/python2.7: symbolic link to `/usr/local/python2.7/bin/python'

難道是因爲這個也是鏈接?

其它機器也這樣折騰的,目前不是太明白。先記下了!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章