问题
问题:我想要一个可以为我的所有重要文件创建备份的程序。
尽管这是一个简单的问题,但是问题本身并没有给我们足够的信息来解决它。进一步的分析是必需的。例如,我们如何确定该备份哪些文件?备份保存在哪里?我们怎么样存储备份?
在恰当地分析了这个问题之后,我们开始设计我们的程序。我们列了一张表,表示我们的程序应该如何工作。对于这个问题,我已经创建了下面这个列表以说明我如何让它工作。如果是你设计的话,你可能不会这样来解决问题——每个人都有其做事的方法,这很正常。
需要备份的文件和目录由一个列表指定。备份应该保存在主备份目录中。文件备份成一个zip文件。zip存档的名称是当前的日期和时间。我们使用标准的zip命令,它通常默认地随Linux/Unix发行版提供。Windows用户可以使用Info-Zip程序。注意你可以使用任何地存档命令,只要它有命令行界面就可以了,那样的话我们可以从我们的脚本中传递参数给它。解决方案
当我们基本完成程序的设计,我们就可以编写代码了,它是对我们的解决方案的实施。
版本一
例10.1备份脚本——版本一
#!/usr/bin/python#Filename:backup_ver1.pyimportosimporttime#1.Thefilesanddirectoriestobebackeduparespecifiedinalist.source=[/home/swaroop/byte,/home/swaroop/bin]#IfyouareusingWindows,usesource=[rC:Documents,rD:Work]orsomethinglikethat#2.Thebackupmustbestoredinamainbackupdirectorytarget_dir=/mnt/e/backup/#Remembertochangethistowhatyouwillbeusing#3.Thefilesarebackedupintoazipfile.#4.Thenameoftheziparchiveisthecurrentdateandtimetarget=target_dir+time.strftime(%Y%m%d%H%M%S)+.zip#5.Weusethezip