写的一个备份脚本,总共7台机器,有2台就是不执行。手动可以。cron就是不行。环境都一样。
后来在邮件中发现相关问题,如下:
1
2
3
4
5
6
7
8
9
10
|
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版本?
尝试:
1
2
|
unlink /usr/bin/python
ln -s /usr/local/bin/python2 .7 /usr/bin/python
|
再次 cron。 居然搞定!
这个链接我安装2.7时就已经做了。不过是
1
|
ln -s /usr/bin/python2 .7 /usr/bin/python
|
查了一下
1
2
|
file /usr/bin/python2 .7
/usr/bin/python2 .7: symbolic link to ` /usr/local/python2 .7 /bin/python '
|
难道是因为这个也是链接?
其它机器也这样折腾的,目前不是太明白。先记下了!
本文转自 nonono11 51CTO博客,原文链接:http://blog.51cto.com/abian/1727194,如需转载请自行联系原作者