`
诗意的栖居
  • 浏览: 269812 次
  • 性别: 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交换机自动备份脚本

    py交换机自动备份脚本。支持华为、思科、华三、 Aruba交换机。将设备ip、账号、密码、写入配置文件运行即可。多台设备一键备份。记录日志,自定义备份位置。需要先安装调用的模块,怎么安装自行百度。

    python定时备份mysql数据库脚本

    Python定时备份mysql数据库,比shell写的要简洁的多,以后扩展也会很容易,并且只保留最新的几个数据库备份文件

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

    python脚本对mongodb数据库进行本地全量备份,获取oplog时间戳,然后每天定时进行增量备份,已验证windows和linux

    python写的mysql数据备份脚本

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

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

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

    Python Mysql自动备份脚本.pdf

    Python Mysql自动备份脚本

    网络设备配置备份脚本

    本资源基于tftp做网络设备配置备份,包含华为、华三、锐捷交换机等网络设备配置备份脚本,以及调用参数说明和示例

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

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

    python-备份文件

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

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

    只要是交换机支持ftp都可以用此脚本进行备份,只需要改一下交换机配置文件的名称,不同厂家交换机备份文件名称不一样。同时需要交换机开启ftp

    oracle备份脚本-Linux.rar

    oracle数据库的自动化备份脚本,生产环境多次验证过。包含 oracle rman 备份和 expdp备份。

    python_自动备份redis配置

    本脚本是用python写的,用于实现redis配置的自动备份。

    python 脚本实现自动备份目录

    python 脚本实现自动备份目录 。

    python备份文件的脚本

    实际效果:假设给定目录”/media/data/programmer/project/python” ,备份路径”/home/diegoyun/backup/“ , 则会将python目录下的文件按照全路经备份到备份路径下,形如: /home/diegoyun/backup/yyyymmddHHMMSS/...

    Python备份Mysql脚本

    特点是多平台,一个脚本内可以备份多个数据库,并分别打包上传到ftp进行备份。调用了mysqldump及tar来进行数据库dump及打包。具体参数说明参见源文件

    python实现windows下文件备份脚本

    主要为大家详细介绍了python实现windows下文件备份的脚本,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

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

    Python 定期备份交换机配置文件 本文介绍了使用 Python language 实现自动备份交换机...本文的脚本使用 Python 语言和 paramiko 库实现了自动备份华为交换机配置文件的功能,具有自动化设备管理、防止配置丢失等优点。

    python3实现sqlserver数据库和文件异地备份

    Python3写的脚本,windows上应用的,实现服务器上的数据库通过磁盘映射备份到本地其他机器上的共享文件夹中,服务器上指定文件夹下的文件也备份到指定共享文件夹中,并发邮件通知

    python备份mysql到远程ftp的脚本

    使用说明 redhat7.5 mysql5.7 ...2、修改mysql配置vi /etc/my.cnf [mysqldump] user=root password=XXX 3、/root/backup/目录下建立...4、crontab加入0 1 * * * /usr/bin/python /root/backup/backupmysql.py >/dev/null

    backupScript:使用rsync命令备份指定文件夹的Python备份脚本

    备份脚本信息这是用于将文件夹备份到外部硬盘驱动器的python脚本。 它使用命令检查在实际复制之前是否需要复制文件/文件夹。 目前,仅支持Linux系统(不知道Windows和命令如何运行)。意向替换重要/特殊文件的手动...

Global site tag (gtag.js) - Google Analytics