设计程序,有以下步骤:
需要备份的文件和目录由一个列表指定。
备份应该保存在主备份目录中。
文件备份成一个zip文件。
zip存档的名称是当前的日期和时间。
解决方案:
版本一:
1 #!/usr/bin/python 2 #filename: backup_ver1.py 3 4 import os 5 import time 6 7 source=[‘/home/swaroop/byte‘,‘/home/swaroop/bin‘] 8 target_dir=‘/mnt/e/backup/‘ 9 target=target_dir+time.strftime(‘%Y%m%d%H%M%S‘)+‘.zip‘ 10 zip_command="zip -qr ‘%s‘ %s"%(target,‘‘.join(source)) 11 12 if os.system(zip_command)==0: 13 print ‘Successful backup to‘,target 14 else: 15 print ‘Backup FAILED‘ 16 17 18 #输出 19 20 $ pyhon backup_ver1.py 21 Successful backup to 22 /mnt/e/backup/20041208073244.zip
以上代码里,我们在source列表中指定需要备份的文件和目录,target_dir指定存储备份文件的目标目录,zip归档的名称是目前的日期和时间。time.strftime()函数需要我们在上面的程序中使用的那种定制。如,%Y被年份替代,%m被月份替代,其他依次是日时分秒。zip命令有一些参数,-q表示zip命令安静地工作。-r表示zip命令对目录递归地工作,即它包括子目录以及子目录中的文件。选项后跟着zip归档的名称,然后再是待备份的文件和目录列表。我们使用字符串join方法把source列表转换为字符串。最后os.system运行命令,成功则返回0,失败则返回错误号。
原文:http://www.cnblogs.com/jiu0821/p/5233319.html