问题列表:
1.需要备份的文件和目录列表指定
2.备份应存放在主备份目录里
3.备份的压缩格式 zip 或 rar
4.zip 或 rar 存档命令
5.维护环节:采用更好的文件名机制,使用时间作为文件名,而当前的日期作为目录名,存放在主备份目录中,这样做的优势是备份会以等级结构存储,易于管理。
代码部分:
#coding:utf-8 import os import time source = [r'C:\test.txt'] target_dir = r'E:\backup' # 获取系统时间 today = target_dir +time.strftime('%Y%m%d') now = time.strftime('%H%M%S') # 输入备注 comment = raw_input('请输入备注') if len(comment) == 0: print ('无备注') target = today + os.sep + now + '.rar' else: target = today + os.sep + now + comment.replace('', '_') + '.rar' if not os.path.exists(today): os.mkdir(today) print ('创建目录' + today + '成功') # 备份命令 #zip_command = "zip -qr '%s' %s" % (target, ''.join(source)) #rar_command = 'rar a{0} {1}'.format(target,source) #rar_command = "rar a %s %s" % (target, ''.join(source)) rar_command = '"C:\Program Files (x86)\WinRAR\Rar.exe" a %s %s' % (target, ' '.join(source)) # Run the backup print rar_command if os.system(rar_command) == 0: print('备份成功,存放在: ' + target) else: print os.system(rar_command) print 'Backup FAILED'惨遭问题:
因为windows下的,所以下载的winrar,然后把执行文件放到window/system下,相当于配置环境变量, 一开始执行的备份命令为rar_command = "rar a %s %s" % (target, ''.join(source)) 可是执行一直错误,cmd执行却没有事,百度了好多,字面都是这种执行命令,但这种压根就没有当做命令去处理,而是简简单单的字符串处理罢了。
错误提示:'zip' �����ڲ����ⲿ���Ҳ���ǿ����еij��� ���������ļ��� failed backup
当时心中一万个 ***, 后面我直接把命令exe路径填上,就可以了,希望对小哥们有用。