写的一个备份脚本,总共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,如需转载请自行联系原作者