python备份数据库之压缩篇

      前面介绍了一个简单的脚本,用python来给mysql数据库做数据备份,但是只是给数据库做了个简单的备份,我这里准备再给他加点简单的功能,给备份压缩下,代码稍微和之前有点不同,来看下,代码中间又详细的注释,很容易理解:

 

   1:  #-*- coding: utf-8 -*-
   2:  #!/usr/bin/env python
   3:   
   4:  import time
   5:  import os
   6:  password='root'
   7:  #name=time.strftime("%Y-%m-%d %H:%M:%S")
   8:  BackupFileName=time.strftime("%Y-%m-%d-%H:%M:%S") + '.sql'
   9:  #此处经过修改,原来的第一个版本是上面注释掉的一行代码,这样写是为了下面压缩的时候方便点
  10:  destDir='/home/mysqlbak/'
  11:  #cmd='mysqldump -uroot -p' + password + ' --all-databases > ' + destDir + name + '.sql'
  12:  cmd='mysqldump -uroot -p' + password + ' --all-databases > ' + destDir + BackupFileName
  13:  print cmd
  14:  #上面一行是调试做用,可以注释掉,不影响最终结果
  15:  os.system(cmd)
  16:  print ("backup Mysql Successs...")
  17:   
  18:  print ("Beginning to compress file...")
  19:  import tarfile
  20:  ToTarPath='cd ' + destDir
  21:  #备份文件的路径,一开始由于脚本和备份文件不是在一个目录下,
  22:  #建议脚本和备份文件放在一个目录下,这个都是可以自己修改的
  23:  #os.system(ToTarPath)
  24:  #tar=tarfile.open(BackupFileName + '.tar','w')
  25:  #上面是吧数据库备份压缩成一个tar文件,但是文件大小没有改变
  26:  tar=tarfile.open(BackupFileName + '.tar.bzip2','w|bz2')
  27:  #上面是吧文件压缩成tar.bzip2格式的文件,这个压缩比比较厉害
  28:  os.system(ToTarPath)
  29:  DestTarFile=destDir + BackupFileName
  30:  print DestTarFile
  31:  tar.add(DestTarFile)
  32:  print ("Compress Success...")
  33:  tar.close()

 

        我本来是吧数据库的备份文件简单的额压缩成一个tar文件,但是发现压缩之后的体积居然比没压缩之前还要大,所以选择了tar.bzip2的格式来压缩,这样的压缩比是很明显的,这样才有利于我们在网络中的传输啊,这次就讲解到这里,大家感兴趣的话可以吧代码拷贝下来试验下

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要自动备份MySQL数据库,你可以使用以下步骤: 1. 创建一个备份脚本:使用任何你熟悉的编程语言(如Bash、Python等),编写一个脚本来执行备份操作。你可以使用MySQL的命令行工具或者编程语言提供的MySQL客户端库来执行备份操作。 2. 定义备份频率:决定备份的频率,比如每天、每周或者每月备份一次。你可以使用操作系统的定时任务(如Cron)来定期运行备份脚本。 3. 备份数据库:在备份脚本中,使用适当的命令来备份MySQL数据库。你可以使用`mysqldump`命令来导出整个数据库或者单独的表。 例如,使用mysqldump备份整个数据库: ``` mysqldump -u <用户名> -p<密码> <数据库名> > <备份文件路径> ``` 或者,备份单独的表: ``` mysqldump -u <用户名> -p<密码> <数据库名> <表名> > <备份文件路径> ``` 4. 存储备份文件:在备份脚本中,指定一个目录来存储备份文件。你可以使用本地文件系统、网络共享文件夹、云存储服务等等。 5. 可选的压缩备份文件:如果你想节省存储空间,可以在备份脚本中使用压缩工具(如gzip)对备份文件进行压缩。 例如,使用gzip压缩备份文件: ``` gzip <备份文件路径> ``` 6. 保留旧备份:如果你想保留一定数量的旧备份,可以在备份脚本中添加逻辑来删除旧的备份文件。你可以根据日期、备份文件数量等条件来决定删除哪些备份文件。 7. 测试和监控备份:确保备份脚本能够正常运行,并且检查备份文件的完整性。你可以在脚本中添加日志记录和错误处理来监控备份过程。 请注意,以上步骤仅为一般指导,并且具体实现可能因你的环境和需求而有所不同。建议在实际操作前,先对脚本进行测试并确保备份数据的安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值