编写一个动态备份文件的python脚本:

#!/usr/bin/python
#filename :backup_ver2.py
import os
import time
import sys
source=[]
for i in sys.argv:
        print i
        source.append(i)
#source=['/root/python/test.py','/root/python/backup_var1.py']
print source
del(source[0])
print '#######'
print source
target_dir='/root/python/'
today=target_dir+time.strftime('%Y%m%d')
now=time.strftime('%H%M%S')
if not os.path.exists(today):
        os.mkdir(today)
        print 'successfully created directory', today
target=today+os.sep+now+'.zip'

zip_command="zip -qr '%s' %s" %(target,' '.join(source))
#run the backup
if os.system(zip_command)==0:
        print 'successfully backup to the target',target
else:
        print 'failed backup'
这里利用list的可增可减的特性,进过反复的实验,发现使用sys.argv的方法后会把本身的py脚本也包裹到里面如下:

[root@fsailing1 python]# python backup_ver2.py /root/python/test.py /root/python/while.py
backup_ver2.py
/root/python/test.py
/root/python/while.py
['backup_ver2.py', '/root/python/test.py', '/root/python/while.py']
successfully backup to the target /root/python/20120627/203320.zip
所以使用了del的方法进行删除了,这样就会好点儿了。

[root@fsailing1 python]# python backup_ver2.py /root/python/test.py /root/python/while.py
backup_ver2.py
/root/python/test.py
/root/python/while.py
['backup_ver2.py', '/root/python/test.py', '/root/python/while.py']
#######
['/root/python/test.py', '/root/python/while.py']
successfully backup to the target /root/python/20120627/203634.zip




Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐