`
诗意的栖居
  • 浏览: 274522 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

Phthon十、备份脚本

阅读更多
windows下运行

版本一:
import os
import time
source = [r'D:\work']        #源目录,可以有多个,用逗号隔开
target_dir = r'D:/work/work_backup/'    #目标目录
target = target_dir + time.strftime('%Y%m%d%H%M%S')+'.zip'
zip_command="winrar A %s %s"%(target,' '.join(source))
if os.system(zip_command)== 0:
print ('Successful backup to',target)
else:
print ('Backup FAILED')

注意:(1)"r"是告诉程序不要转义
      (2)把winrar的目录添加到环境变量中
      (3)time.strftime()函数获得当前的日期和时间·
     (4)%s不要加引号
版本二:
import os
import time
source = [r'D:\work']
target_dir = r'D:\work\work_backup'
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 = "winrar A %s %s" % (target, ' '.join(source))
if os.system(zip_command) == 0:
print ('Successful backup to', target)
else:
print ('Backup FAILED')
注意:(1)是使用os.exists函数检验在主备份目录中是否有以当前日期作为名称的目录。如果没有,我们使用os.mkdir函数创建。
      (2)os.sep变量会根据你的操作系统给出目录分隔符,即在Linux、Unix下它
是'/',在Windows下它是'\\',而在Mac OS下它是':'。使用os.sep使程序具有移植性。
版本三:
import os
import time
source = [r'D:\work']
target_dir = r'D:\work\work_backup'
today = target_dir + time.strftime('%Y%m%d')
now = time.strftime('%H%M%S')
comment = input('Enter a comment --> ')
if len(comment) == 0:
target = today + os.sep + now + '.zip'
else:
target = today + os.sep + now + '_' + \
comment.replace(' ', '_') + '.zip'
if not os.path.exists(today):
os.mkdir(today)
print ('Successfully created directory', today)
zip_command = "winrar A %s %s" % (target, ' '.join(source))
if os.system(zip_command) == 0:
print ('Successful backup to', target)
else:
print ('Backup FAILED')
注意:(1)python3的版本中,把raw_input方法替换成了input方法
      (2)使用raw_input函数得到用户的注释,然后通过len函数找出输入的长度以检验用户是否确实输入了什么东西。
      (3)注释会被附加到zip归档名,就在.zip扩展名之前。把注释中的空格替换成下划线是因为处理这样的文件名要容易得多。

tar命令:
  tar = 'tar -cvzf %s %s -X /home/swaroop/excludes.txt' % (target, ' '.join(srcdir))#windows下没试过
  ● -c表示创建一个归档。
  ● -v表示交互,即命令更具交互性。
  ● -z表示使用gzip滤波器。
  ● -f表示强迫创建归档,即如果已经有一个同名文件,它会被替换。
  ● -X表示含在指定文件名列表中的文件会被排除在备份之外。例如,你可以在文件中指定
*~,从而不让备份包括所有以~结尾的文件。

最理想的创建这些归档的方法是分别使用zipfile和tarfile。它们是Python标准库的一部分。使用这些库就避免了使用os.system这个不推荐使用的函数,它容易引发严重的错误。

软件开发过程:
  1. 什么(分析)
  2. 如何(设计)
  3. 编写(实施)
  4. 测试(测试与调试)
  5. 使用(实施或开发)
  6. 维护(优化)
分享到:
评论

相关推荐

    python交换机自动备份脚本

    Python交换机自动备份脚本是一种高效管理网络设备的方法,它能帮助网络管理员便捷地备份多个交换机的配置,包括华为、思科、华三和Aruba等不同品牌的设备。这样的脚本大大提高了工作效率,减少了手动操作的繁琐和...

    mongodb4.2全量定时增量备份python脚本

    本话题主要围绕"mongodb4.2全量定时增量备份python脚本"展开,讲解如何利用Python编写脚本来实现这一功能。 首先,全量备份是指对数据库进行一次完整的数据复制,不考虑任何历史状态。在MongoDB中,我们可以使用`...

    python定时备份mysql数据库脚本

    本篇将详细解释如何使用Python编写一个定时备份MySQL数据库的脚本,以及如何通过代码实现仅保留最新几个备份文件的功能。 首先,我们需要了解Python中的两个关键库:`pymysql` 和 `schedule`。`pymysql` 是Python...

    华为网络设备自动备份脚本

    标题 "华为网络设备自动备份脚本" 描述的是一个针对华为网络设备的自动化备份解决方案,主要涉及了自动化运维、华为设备(路由器和交换机)以及通过SSH和FTP进行远程操作的相关技术。下面将详细讲解这些知识点。 1....

    python写的mysql数据备份脚本

    python写的mysql数据备份脚本,可以分库,分表

    python自动备份mysql数据库,并删除七天前文件

    由于Python脚本更便于处理文本,所以我们通常会选择逻辑备份,即使用`mysqldump`。在Python中,可以通过`subprocess`模块来调用这个命令行工具。 接下来,我们需要编写一个Python脚本来执行以下任务: 1. 连接MySQL...

    python 华为锐捷交换机备份.zip

    本文将围绕"Python 脚本 交换机备份"这一主题,详细讲解如何使用Python编写脚本来实现华为和锐捷交换机的配置备份。 首先,我们要理解交换机配置文件备份的重要性。当设备出现故障或需要进行升级时,拥有备份的配置...

    使用python自动备份文件打包脚本

    使用python语言写的打包备份文件脚本,使用tar命令进行打包。自定义备份目录,和备份源文件目录。

    网络设备配置备份脚本

    本文将详细介绍如何利用脚本自动化进行网络设备配置备份,特别是针对华为、华三(H3C)和锐捷(Ruijie)交换机的备份方法。 首先,我们需要理解基本的网络备份概念。网络设备配置通常包含接口设置、路由策略、安全...

    python定时备份文件

    最后,这样的备份脚本可以集成到自动化工作流中,如通过cron job在Linux中定期运行,或者在Windows中使用任务计划程序。这样,你可以确保文件备份始终按时进行,无需手动干预。 综上所述,Python的定时备份文件...

    python定期备份交换机配置文件二

    Python 定期备份交换机配置文件 Python script 介绍 在网络维护中,交换机配置文件的备份是非常重要的。为了避免配置文件的丢失,需要定期备份交换机配置文件。本文将介绍如何使用 Python Script 实现交换机配置...

    python备份mysql数据库

    在这个场景中,"python备份mysql数据库"的实践主要涉及到以下几个核心知识点: 1. Python语言:Python是一种高级编程语言,以其简洁的语法和丰富的库资源而闻名。在备份MySQL数据库时,Python可以编写脚本来自动化...

    Python 项目备份文件

    为了实现自动化备份,Python可以编写脚本来定期执行备份任务。例如,可以使用`schedule`库来安排任务,`shutil`库用于文件操作,`os`库处理文件路径和目录。同时,备份过程应考虑版本控制,使用Git等工具可以跟踪...

    oracle备份脚本-Linux.rar

    "oracle备份脚本-Linux.rar"这个压缩包文件就包含了使用这两种工具进行数据库备份的脚本。 RMAN是Oracle数据库内置的备份和恢复工具,它可以执行自动备份、增量备份、合成全备份等多种备份策略。RMAN备份通常与控制...

    Python Mysql自动备份脚本.pdf

    Python MySQL自动备份脚本是一种利用Python编程语言编写的程序,用于定期或按需备份MySQL数据库。这个特定的脚本设计适用于Windows操作系统,因为其内部调用了CMD(命令提示符)来执行MySQL的备份命令。虽然这里提到...

    Python备份Mysql脚本

    Python备份MySQL脚本是一种自动化工具,它利用Python编程语言结合MySQL的mysqldump命令来实现数据库的备份。这个脚本适用于多种操作系统平台,因为Python是跨平台的,所以无论在Linux、Windows还是macOS等系统上都能...

    python-备份文件

    该脚本是用python编写,用于对每日文件进行压缩备份存放,适用于初学者,望多指教~

    Python-备份站点目录和数据库支持备份到ftposscosemail

    标题中的“Python-备份站点目录和数据库支持备份到ftposscosemail”表明这是一个使用Python编写的脚本或工具,其主要功能是自动化地备份网站的目录内容和数据库,并且可以将备份文件上传到FTP服务器、阿里云OSS...

    python实现psql数据库备份还原(两种方法)

    同时,为了自动化备份和恢复,可以考虑使用定时任务(如Linux的`cron`)来定期运行这些Python脚本。 **注意事项**: - 在使用`pg_dump`和`pg_restore`时,确保它们已经在你的系统路径中,否则需要提供完整路径。 - ...

    python实现windows下文件备份脚本

    在介绍python实现Windows下文件备份脚本之前,我们需要明确几个基础知识点。首先,Python是一种广泛使用的高级编程语言,以其简洁明了的语法和强大的跨平台能力著称。它可以用来进行网站开发、自动化脚本编写、数据...

Global site tag (gtag.js) - Google Analytics