威尼斯人线上娱乐

python达成定时自动备份文件到任何主机的实例代码,python达成定时自动备份文件到其余主机

12 4月 , 2019  

定时将源文件或目录使用WinRA翼虎压缩并机关备份到当地或互连网上的主机

python完结定时自动备份文件到别的主机,python备份

定时将源文件或目录使用WinRATucson压缩并自动备份到地点或互连网上的主机


一.确认保障WinRA兰德酷路泽安装在私下认可路径只怕把WinRA福特Explorer.exe添加到环境变量中

贰.在代码里的sources填写备份的文件或目录,target_dir填写备份目标目录

3.delete_source_file为备份完后是不是删除源文件(不删除子文件夹)

四.备份成功/失利后生成备份日志


 

服从格式,填写源指标:

sources = [r'E:\目录1', r'E:\目录2\b.txt'] #例:= [ r'E:\test\1234.txt', r'E:\test1']
target_dir = r'\\10.1.5.227\共享\备份'     #例:= r'D:\备份' 或 = r'\\10.1.5.227\共享目录'
delete_source_file = False                #False/True

手动运营一次,已经有七个备份zip了

威尼斯人线上娱乐 1

打开log查看为何少了三个

威尼斯人线上娱乐 2

能够看看目录一备份战败了,细看发现,目录壹下的a.txt未有权限(读取),是因为用户对该文件未有权力。

万一该目录可能子目录下有贰个并未有权力,会促成整个目录都不可能备份,
日志看到a.txt未有权限.

首次备份的时候将源文件删除后,第壹次备份就平素不公文备份了

 

接下去将脚本程序添加到win的陈设职分里,就能促成定时自动备份辣<( ̄︶ ̄)>

威尼斯人线上娱乐 3

 

把代码文件添加进去,同时也得以在那里丰盛参数-d, 指明备份完后删除源文件

威尼斯人线上娱乐 4

 

总体代码

python3.0

  1 # -*- coding=utf-8 -*-
  2 #进行了一场py/etherchannel
  3 import os, sys
  4 import time
  5 import logging
  6 
  7 sources = [r'E:\视频笔记', r'E:\目录\b.txt']  #例:= [ r'E:\test\1234.txt', r'E:\test1']
  8 target_dir = r'\\10.1.5.227\共享\备份'       #例:= r'D:\备份' 或 = r'\\10.1.5.227\共享目录'
  9 delete_source_file = False                  #False/True
 10 
 11 def Init_Logging(path):
 12     logging.basicConfig(level=logging.INFO,  
 13         format='%(asctime)s %(levelname)-8s %(message)s',   
 14         filename=path + '\\' + 'log.txt', 
 15         filemode='a',
 16         datefmt='%Y-%m-%d %X')
 17 
 18 def Ctypes(message, title):
 19     import ctypes
 20     ctypes.windll.user32.MessageBoxA(0,message.encode('gb2312'), \
 21     title.encode('gb2312'),0)
 22     sys.exit()
 23 
 24 def Check_Dir_Permit(dirs, dirc_permit=True, root=''):
 25     for dirc in dirs:
 26         dirc = os.path.join(root,dirc)
 27         try:
 28             os.chdir(dirc)
 29         except IOError as e:
 30             logging.error("找不到指定文件或没有权限  >>> " + str(e))
 31             dirc_permit = False
 32     return dirc_permit
 33     
 34 def Create_Directory(dir):
 35     if not os.path.exists(dir):
 36         try:
 37             os.mkdir(dir)
 38             print('Successfully created directory',dir)
 39         except IOError as e:
 40             Ctypes(u"target_dir 目录路径不存在 ", u' 错误')
 41     assert Check_Dir_Permit([dir]), Ctypes(u"target_dir 没有权限 ", u' 错误')
 42     return dir
 43 
 44 def Check_File_Permit(files, file_permit=True, root=''):
 45     for filename in files:
 46         file = os.path.join(root,filename)
 47         try:
 48             f = open(file)
 49             f.close()
 50         except IOError as e:
 51             logging.error("找不到指定文件或没有权限  >>> " + str(e))
 52             file_permit = False
 53     return file_permit
 54     
 55 def Permit_Source(sources):
 56     allow_sources = []
 57     disallow_sources = []
 58     for source in sources:
 59         file_permit = True
 60         dirc_permit = True
 61         for (root, dirs, files) in os.walk(source):
 62             file_permit = Check_File_Permit(files, file_permit,root=root)
 63             dirc_permit = Check_Dir_Permit(dirs, dirc_permit,root=root)
 64         if os.path.isdir(source) and file_permit and dirc_permit or \
 65             os.path.isfile(source) and Check_File_Permit([source], file_permit):
 66             allow_sources.append(source)
 67         else:
 68             disallow_sources.append(source)
 69     return (allow_sources,disallow_sources)
 70     
 71 def Delete_Files(allow_sources):
 72     for source in allow_sources:
 73         if os.path.isdir(source):
 74             command = 'del /a/s/f/q ' + source    #/s:也把子文件夹的文件一并删除
 75             if os.system(command) == 0:
 76                 logging.info('del: ' + str(source))
 77             else:
 78                 logging.error(str(source) + ' 删除失败')
 79         else:
 80             command = 'del /a/f/q ' + source
 81             if os.system(command) == 0:
 82                 logging.info('del: ' + str(source))
 83             else:
 84                 logging.error(str(source) + ' 删除失败')
 85                 
 86 def Compress_Backup(target, source):
 87     target = target + '\\' + time.strftime('%Y%m%d%H%M%S') + '.rar'
 88     if os.path.exists(r"C:\Program Files (x86)\WinRAR\WinRAR.exe"):
 89         rar_command = r'"C:\Program Files (x86)\WinRAR\WinRAR.exe" A %s %s' % (target,' '.join(source))  #WinRAR.exe" A %s %s -r'加上-r是作用到子文件夹中同名的文件
 90     else:
 91         rar_command = 'WinRAR' + ' A %s %s' % (target,' '.join(source))
 92     if os.system(rar_command) == 0:  
 93         print('Successful backup to', target)
 94         logging.info(str(source) + ' 备份到 ' + str(target) + ' 成功')
 95         try:
 96             if delete_source_file or sys.argv[1] == '-d':
 97                 Delete_Files(source)
 98         except IndexError:
 99             pass
100     else:
101         logging.error("备份失败:WinRAR出错,确认路径 或 压缩被中断")
102         Ctypes(u"备份失败:WinRAR出错,确认路径 或 压缩被中断", u' 错误')
103 
104 if __name__ == '__main__':
105     target_dir = Create_Directory(target_dir)
106     Init_Logging(target_dir)
107     logging.info('=' * 80)
108     allow_sources, disallow_sources = Permit_Source(sources)
109     if allow_sources:
110         Compress_Backup(target_dir, allow_sources)
111     if disallow_sources:
112         print(disallow_sources, ' 备份失败')
113         logging.error(str(disallow_sources) + ' 备份失败')

python达成定时自动备份文件到任何主机的实例代码,python达成定时自动备份文件到其余主机。 

定时将源文件或目录使用WinRA昂Cora压缩并机关备份到本地或网络上的主机
1.保障WinRATucson安装在默…

python完成定时自动备份文件到别的主机的实例代码,python实例

定时将源文件或目录使用WinRA宝马7系压缩并机关备份到地头或网络上的主机

一.承接保险WinRALacrosse安装在默许路径或然把WinRA福特Explorer.exe添加到环境变量中

二.在代码里的sources填写备份的公文或目录,target_dir填写备份指标目录

3.delete_source_file为备份完后是或不是删除源文件(不删除子文件夹)

四.备份成功/战败后生成备份日志

绳趋尺步格式,填写源指标:

sources = [r'E:\目录1', r'E:\目录2\b.txt'] #例:= [ r'E:\test\1234.txt', r'E:\test1']
target_dir = r'\\10.1.5.227\共享\备份'   #例:= r'D:\备份' 或 = r'\\10.1.5.227\共享目录'
delete_source_file = False        #False/True

手动运营壹回,已经有多少个备份zip了

威尼斯人线上娱乐 5

开拓log查看为何少了3个

威尼斯人线上娱乐 6

能够看看目录一备份败北了,细看发现,目录一下的a.txt未有权限(读取),是因为用户对该文件未有权力。

倘若该目录恐怕子目录下有2个一贯不权力,会促成整个目录都无法备份,
日志看到a.txt没有权限.

第2次备份的时候将源文件删除后,首回备份就不曾公文备份了

接下去将脚本程序添加到win的布署职分里,就能促成定时自动备份辣<( ̄︶ ̄)>

威尼斯人线上娱乐 7

把代码文件添加进去,同时也能够在那边丰裕参数-d, 指明备份完后删除源文件

威尼斯人线上娱乐 8

总体代码

python3.0

# -*- coding=utf-8 -*-
#进行了一场py/etherchannel
import os, sys
import time
import logging
sources = [r'E:\视频笔记', r'E:\目录\b.txt'] #例:= [ r'E:\test\1234.txt', r'E:\test1']
target_dir = r'\\10.1.5.227\共享\备份'    #例:= r'D:\备份' 或 = r'\\10.1.5.227\共享目录'
delete_source_file = False         #False/True
def Init_Logging(path):
  logging.basicConfig(level=logging.INFO, 
    format='%(asctime)s %(levelname)-8s %(message)s',  
    filename=path + '\\' + 'log.txt', 
    filemode='a',
    datefmt='%Y-%m-%d %X')
def Ctypes(message, title):
  import ctypes
  ctypes.windll.user32.MessageBoxA(0,message.encode('gb2312'), \
  title.encode('gb2312'),0)
  sys.exit()
def Check_Dir_Permit(dirs, dirc_permit=True, root=''):
  for dirc in dirs:
    dirc = os.path.join(root,dirc)
    try:
      os.chdir(dirc)
    except IOError as e:
      logging.error("找不到指定文件或没有权限 >>> " + str(e))
      dirc_permit = False
  return dirc_permit
def Create_Directory(dir):
  if not os.path.exists(dir):
    try:
      os.mkdir(dir)
      print('Successfully created directory',dir)
    except IOError as e:
      Ctypes(u"target_dir 目录路径不存在 ", u' 错误')
  assert Check_Dir_Permit([dir]), Ctypes(u"target_dir 没有权限 ", u' 错误')
  return dir
def Check_File_Permit(files, file_permit=True, root=''):
  for filename in files:
    file = os.path.join(root,filename)
    try:
      f = open(file)
      f.close()
    except IOError as e:
      logging.error("找不到指定文件或没有权限 >>> " + str(e))
      file_permit = False
  return file_permit
def Permit_Source(sources):
  allow_sources = []
  disallow_sources = []
  for source in sources:
    file_permit = True
    dirc_permit = True
    for (root, dirs, files) in os.walk(source):
      file_permit = Check_File_Permit(files, file_permit,root=root)
      dirc_permit = Check_Dir_Permit(dirs, dirc_permit,root=root)
    if os.path.isdir(source) and file_permit and dirc_permit or \
      os.path.isfile(source) and Check_File_Permit([source], file_permit):
      allow_sources.append(source)
    else:
      disallow_sources.append(source)
  return (allow_sources,disallow_sources)
def Delete_Files(allow_sources):
  for source in allow_sources:
    if os.path.isdir(source):
      command = 'del /a/s/f/q ' + source  #/s:也把子文件夹的文件一并删除
      if os.system(command) == 0:
        logging.info('del: ' + str(source))
      else:
        logging.error(str(source) + ' 删除失败')
    else:
      command = 'del /a/f/q ' + source
      if os.system(command) == 0:
        logging.info('del: ' + str(source))
      else:
        logging.error(str(source) + ' 删除失败')
def Compress_Backup(target, source):
  target = target + '\\' + time.strftime('%Y%m%d%H%M%S') + '.rar'
  if os.path.exists(r"C:\Program Files (x86)\WinRAR\WinRAR.exe"):
    rar_command = r'"C:\Program Files (x86)\WinRAR\WinRAR.exe" A %s %s' % (target,' '.join(source)) #WinRAR.exe" A %s %s -r'加上-r是作用到子文件夹中同名的文件
  else:
    rar_command = 'WinRAR' + ' A %s %s' % (target,' '.join(source))
  if os.system(rar_command) == 0: 
    print('Successful backup to', target)
    logging.info(str(source) + ' 备份到 ' + str(target) + ' 成功')
    try:
      if delete_source_file or sys.argv[1] == '-d':
        Delete_Files(source)
    except IndexError:
      pass
  else:
    logging.error("备份失败:WinRAR出错,确认路径 或 压缩被中断")
    Ctypes(u"备份失败:WinRAR出错,确认路径 或 压缩被中断", u' 错误')
if __name__ == '__main__':
  target_dir = Create_Directory(target_dir)
  Init_Logging(target_dir)
  logging.info('=' * 80)
  allow_sources, disallow_sources = Permit_Source(sources)
  if allow_sources:
    Compress_Backup(target_dir, allow_sources)
  if disallow_sources:
    print(disallow_sources, ' 备份失败')
    logging.error(str(disallow_sources) + ' 备份失败')

总结

以上所述是我给大家介绍的python实现定时自动备份文件到其它主机的实例代码,希望对大家有着扶助,假设大家有别的疑问请给自个儿留言,我会及时还原咱们的。在此也分外谢谢大家对帮客之家网址的协理!

定时将源文件或目录使用WinRAWrangler压缩并活动备份到地方或网络上的主机
1.确定保证…

定时将源文件或目录使用WinRAQX56压缩并活动备份到本地或网络上的主机


1.保障WinRAPRADO安装在默许路径大概把WinRALX570.exe添加到环境变量中

1.担保WinRA帕杰罗安装在暗中认可路径只怕把WinRA路虎极光.exe添加到环境变量中

二.在代码里的sources填写备份的文件或目录,target_威尼斯人线上娱乐,dir填写备份目标目录

贰.在代码里的sources填写备份的文书或目录,target_dir填写备份目标目录

3.delete_source_file为备份完后是还是不是删除源文件(不删除子文件夹)

3.delete_source_file为备份完后是不是删除源文件(不删除子文件夹)

四.备份成功/战败后生成备份日志

4.备份成功/失利后生成备份日志

服从格式,填写源目标:


sources = [r'E:\目录1', r'E:\目录2\b.txt'] #例:= [ r'E:\test\1234.txt', r'E:\test1']
target_dir = r'\\10.1.5.227\共享\备份'   #例:= r'D:\备份' 或 = r'\\10.1.5.227\共享目录'
delete_source_file = False        #False/True

 

手动运转贰次,已经有四个备份zip了

服从格式,填写源目标:

威尼斯人线上娱乐 9

sources = [r'E:\目录1', r'E:\目录2\b.txt'] #例:= [ r'E:\test\1234.txt', r'E:\test1']
target_dir = r'\\10.1.5.227\共享\备份'     #例:= r'D:\备份' 或 = r'\\10.1.5.227\共享目录'
delete_source_file = False                #False/True

开辟log查看为啥少了三个

手动运营1回,已经有三个备份zip了

威尼斯人线上娱乐 10

威尼斯人线上娱乐 11

可以观看目录一备份输球了,细看发现,目录1下的a.txt未有权力(读取),是因为用户对该公文并未有权限。

开拓log查看为啥少了多个

1旦该目录大概子目录下有二个一直不权限,会造成整个目录都不能够备份,
日志看到a.txt没有权限.

威尼斯人线上娱乐 12

其次次备份的时候将源文件删除后,第二回备份就从未有过公文备份了

能够看出目录一备份退步了,细看发现,目录一下的a.txt未有权限(读取),是因为用户对该文件未有权力。

接下去将脚本程序添加到win的陈设职务里,就能落到实处定时自动备份辣<( ̄︶ ̄)>

若果该目录只怕子目录下有一个未有权力,会造成整个目录都不可能备份,
日志看到a.txt未有权限.

威尼斯人线上娱乐 13

第二次备份的时候将源文件删除后,第二遍备份就平昔不公文备份了

把代码文件添加进去,同时也足以在此地丰盛参数-d, 指明备份完后删除源文件

 

威尼斯人线上娱乐 14

接下去将脚本程序添加到win的安排职务里,就能促成定时自动备份辣<( ̄︶ ̄)>

壹体化代码

威尼斯人线上娱乐 15

python3.0

 

# -*- coding=utf-8 -*-
#进行了一场py/etherchannel
import os, sys
import time
import logging
sources = [r'E:\视频笔记', r'E:\目录\b.txt'] #例:= [ r'E:\test\1234.txt', r'E:\test1']
target_dir = r'\\10.1.5.227\共享\备份'    #例:= r'D:\备份' 或 = r'\\10.1.5.227\共享目录'
delete_source_file = False         #False/True
def Init_Logging(path):
  logging.basicConfig(level=logging.INFO, 
    format='%(asctime)s %(levelname)-8s %(message)s',  
    filename=path + '\\' + 'log.txt', 
    filemode='a',
    datefmt='%Y-%m-%d %X')
def Ctypes(message, title):
  import ctypes
  ctypes.windll.user32.MessageBoxA(0,message.encode('gb2312'), \
  title.encode('gb2312'),0)
  sys.exit()
def Check_Dir_Permit(dirs, dirc_permit=True, root=''):
  for dirc in dirs:
    dirc = os.path.join(root,dirc)
    try:
      os.chdir(dirc)
    except IOError as e:
      logging.error("找不到指定文件或没有权限 >>> " + str(e))
      dirc_permit = False
  return dirc_permit
def Create_Directory(dir):
  if not os.path.exists(dir):
    try:
      os.mkdir(dir)
      print('Successfully created directory',dir)
    except IOError as e:
      Ctypes(u"target_dir 目录路径不存在 ", u' 错误')
  assert Check_Dir_Permit([dir]), Ctypes(u"target_dir 没有权限 ", u' 错误')
  return dir
def Check_File_Permit(files, file_permit=True, root=''):
  for filename in files:
    file = os.path.join(root,filename)
    try:
      f = open(file)
      f.close()
    except IOError as e:
      logging.error("找不到指定文件或没有权限 >>> " + str(e))
      file_permit = False
  return file_permit
def Permit_Source(sources):
  allow_sources = []
  disallow_sources = []
  for source in sources:
    file_permit = True
    dirc_permit = True
    for (root, dirs, files) in os.walk(source):
      file_permit = Check_File_Permit(files, file_permit,root=root)
      dirc_permit = Check_Dir_Permit(dirs, dirc_permit,root=root)
    if os.path.isdir(source) and file_permit and dirc_permit or \
      os.path.isfile(source) and Check_File_Permit([source], file_permit):
      allow_sources.append(source)
    else:
      disallow_sources.append(source)
  return (allow_sources,disallow_sources)
def Delete_Files(allow_sources):
  for source in allow_sources:
    if os.path.isdir(source):
      command = 'del /a/s/f/q ' + source  #/s:也把子文件夹的文件一并删除
      if os.system(command) == 0:
        logging.info('del: ' + str(source))
      else:
        logging.error(str(source) + ' 删除失败')
    else:
      command = 'del /a/f/q ' + source
      if os.system(command) == 0:
        logging.info('del: ' + str(source))
      else:
        logging.error(str(source) + ' 删除失败')
def Compress_Backup(target, source):
  target = target + '\\' + time.strftime('%Y%m%d%H%M%S') + '.rar'
  if os.path.exists(r"C:\Program Files (x86)\WinRAR\WinRAR.exe"):
    rar_command = r'"C:\Program Files (x86)\WinRAR\WinRAR.exe" A %s %s' % (target,' '.join(source)) #WinRAR.exe" A %s %s -r'加上-r是作用到子文件夹中同名的文件
  else:
    rar_command = 'WinRAR' + ' A %s %s' % (target,' '.join(source))
  if os.system(rar_command) == 0: 
    print('Successful backup to', target)
    logging.info(str(source) + ' 备份到 ' + str(target) + ' 成功')
    try:
      if delete_source_file or sys.argv[1] == '-d':
        Delete_Files(source)
    except IndexError:
      pass
  else:
    logging.error("备份失败:WinRAR出错,确认路径 或 压缩被中断")
    Ctypes(u"备份失败:WinRAR出错,确认路径 或 压缩被中断", u' 错误')
if __name__ == '__main__':
  target_dir = Create_Directory(target_dir)
  Init_Logging(target_dir)
  logging.info('=' * 80)
  allow_sources, disallow_sources = Permit_Source(sources)
  if allow_sources:
    Compress_Backup(target_dir, allow_sources)
  if disallow_sources:
    print(disallow_sources, ' 备份失败')
    logging.error(str(disallow_sources) + ' 备份失败')

把代码文件添加进去,同时也能够在此地丰盛参数-d, 指明备份完后删除源文件

总结

威尼斯人线上娱乐 16

上述所述是作者给我们介绍的python达成定时自动备份文件到任何主机的实例代码,希望对大家享有帮衬,假如我们有别的疑问请给本人留言,小编会及时还原大家的。在此也万分多谢大家对剧本之家网址的协理!

 

您只怕感兴趣的稿子:

  • python
    简单备份文件脚本v1.0的实例
  • Python
    实现文件的全备份和出入备份详解
  • Python完结简单的文件传输与MySQL备份的台本分享
  • Python实现配置文件备份的不二诀要
  • Python完结网址文件的全备份和差距备份
  • Python达成备份文件实例
  • python完成数通设备tftp备份配置文件示例
  • python使用七z解压软件备份文件脚本分享
  • python备份文件以及mysql数据库的台本代码
  • python完成windows下文件备份脚本

总体代码

python3.0

  1 # -*- coding=utf-8 -*-
  2 #进行了一场py/etherchannel
  3 import os, sys
  4 import time
  5 import logging
  6 
  7 sources = [r'E:\视频笔记', r'E:\目录\b.txt']  #例:= [ r'E:\test\1234.txt', r'E:\test1']
  8 target_dir = r'\\10.1.5.227\共享\备份'       #例:= r'D:\备份' 或 = r'\\10.1.5.227\共享目录'
  9 delete_source_file = False                  #False/True
 10 
 11 def Init_Logging(path):
 12     logging.basicConfig(level=logging.INFO,  
 13         format='%(asctime)s %(levelname)-8s %(message)s',   
 14         filename=path + '\\' + 'log.txt', 
 15         filemode='a',
 16         datefmt='%Y-%m-%d %X')
 17 
 18 def Ctypes(message, title):
 19     import ctypes
 20     ctypes.windll.user32.MessageBoxA(0,message.encode('gb2312'), \
 21     title.encode('gb2312'),0)
 22     sys.exit()
 23 
 24 def Check_Dir_Permit(dirs, dirc_permit=True, root=''):
 25     for dirc in dirs:
 26         dirc = os.path.join(root,dirc)
 27         try:
 28             os.chdir(dirc)
 29         except IOError as e:
 30             logging.error("找不到指定文件或没有权限  >>> " + str(e))
 31             dirc_permit = False
 32     return dirc_permit
 33     
 34 def Create_Directory(dir):
 35     if not os.path.exists(dir):
 36         try:
 37             os.mkdir(dir)
 38             print('Successfully created directory',dir)
 39         except IOError as e:
 40             Ctypes(u"target_dir 目录路径不存在 ", u' 错误')
 41     assert Check_Dir_Permit([dir]), Ctypes(u"target_dir 没有权限 ", u' 错误')
 42     return dir
 43 
 44 def Check_File_Permit(files, file_permit=True, root=''):
 45     for filename in files:
 46         file = os.path.join(root,filename)
 47         try:
 48             f = open(file)
 49             f.close()
 50         except IOError as e:
 51             logging.error("找不到指定文件或没有权限  >>> " + str(e))
 52             file_permit = False
 53     return file_permit
 54     
 55 def Permit_Source(sources):
 56     allow_sources = []
 57     disallow_sources = []
 58     for source in sources:
 59         file_permit = True
 60         dirc_permit = True
 61         for (root, dirs, files) in os.walk(source):
 62             file_permit = Check_File_Permit(files, file_permit,root=root)
 63             dirc_permit = Check_Dir_Permit(dirs, dirc_permit,root=root)
 64         if os.path.isdir(source) and file_permit and dirc_permit or \
 65             os.path.isfile(source) and Check_File_Permit([source], file_permit):
 66             allow_sources.append(source)
 67         else:
 68             disallow_sources.append(source)
 69     return (allow_sources,disallow_sources)
 70     
 71 def Delete_Files(allow_sources):
 72     for source in allow_sources:
 73         if os.path.isdir(source):
 74             command = 'del /a/s/f/q ' + source    #/s:也把子文件夹的文件一并删除
 75             if os.system(command) == 0:
 76                 logging.info('del: ' + str(source))
 77             else:
 78                 logging.error(str(source) + ' 删除失败')
 79         else:
 80             command = 'del /a/f/q ' + source
 81             if os.system(command) == 0:
 82                 logging.info('del: ' + str(source))
 83             else:
 84                 logging.error(str(source) + ' 删除失败')
 85                 
 86 def Compress_Backup(target, source):
 87     target = target + '\\' + time.strftime('%Y%m%d%H%M%S') + '.rar'
 88     if os.path.exists(r"C:\Program Files (x86)\WinRAR\WinRAR.exe"):
 89         rar_command = r'"C:\Program Files (x86)\WinRAR\WinRAR.exe" A %s %s' % (target,' '.join(source))
 90     else:
 91         rar_command = 'WinRAR' + ' A %s %s' % (target,' '.join(source))
 92     if os.system(rar_command) == 0:  
 93         print('Successful backup to', target)
 94         logging.info(str(source) + ' 备份到 ' + str(target) + ' 成功')
 95         try:
 96             if delete_source_file or sys.argv[1] == '-d':
 97                 Delete_Files(source)
 98         except IndexError:
 99             pass
100     else:
101         logging.error("备份失败:WinRAR出错,确认路径 或 压缩被中断")
102         Ctypes(u"备份失败:WinRAR出错,确认路径 或 压缩被中断", u' 错误')
103 
104 if __name__ == '__main__':
105     target_dir = Create_Directory(target_dir)
106     Init_Logging(target_dir)
107     logging.info('=' * 80)
108     allow_sources, disallow_sources = Permit_Source(sources)
109     if allow_sources:
110         Compress_Backup(target_dir, allow_sources)
111     if disallow_sources:
112         print(disallow_sources, ' 备份失败')
113         logging.error(str(disallow_sources) + ' 备份失败')

 


相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图