python远程备份mysql并压缩

import os
import time
import tarfile
import zipfile
‘‘‘
mysqldump
Usage: mysqldump [OPTIONS] database [tables]
OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR mysqldump [OPTIONS] --all-databases [OPTIONS]
For more options, use mysqldump --help
‘‘‘
db_host="数据库地址"
db_user="数据库登录用户名"
db_passwd="登录密码"
db_name="数据库名称"
db_charset="utf8"
db_backup_name=r"E:\MYSQL-beifen\mysql_%s.sql" %(time.strftime("%Y%m%d%H%M"))
aav=r"e:\mysql-beifen"
if not os.path.exists(aav):
  os.makedirs(aav)   #如果不存在则建立相应的文件夹
zip_src = db_backup_name
zip_dest = zip_src + ".zip"
def zip_files():
f = zipfile.ZipFile(zip_dest, ‘w‘ ,zipfile.ZIP_DEFLATED)
f.write(zip_src)
f.close()

if __name__ == "__main__":
print("begin to dump mysql database crm...");
os.system("mysqldump -h%s -u%s -p%s %s --default_character-set=%s > %s" %(db_host, db_user, db_passwd, db_name, db_charset, db_backup_name))
print("begin zip files...")
zip_files()
print("done, pyhon is great!")

原文地址:https://www.cnblogs.com/xkdn/p/12240097.html

时间: 2024-08-30 16:13:22

python远程备份mysql并压缩的相关文章

linux下远程备份mysql数据库

本次环境主要是远程备份mysql数据库的一种常见方法,对于其他知识不做太多讲解. 环境需求: 两台linux:一台mysql数据库服务器,另一台当作客户端用来做备份. 环境目标: 实现mysql数据库的远程备份 例子: (A为服务端ip为192.168.1.1    B为客户端ip为192.168.1.2) 1.首先你得在A上建立一个数据库(建立数据库名称我以 xianyu 为例) create database xianyu;   (建立数据库xianyu) 2.在A上建立一个数据库用户用来做

远程备份MYSQL服务器的数据库

1.实验目标:远程备份mysql服务器的数据库2.实验环境:一共2台mysql服务器A和B,在B上远程备份A上的数据库,在A上建立数据库google和baidu,注意在防火墙上开启3306端口或者关闭防火墙,3.实验拓扑:4.实验步骤1)在A上建立数据库2)在A上建立一个建立一个专用的数据库用户,这里我使用root账户,授予root账户对可以通过远程主机192.168.1.2连接A3)在备份主机B上备份测试查看已经备份成功4)在备份主机B上编写脚本,之前需要创建备份目录 mkdir -p /op

利用Python脚本备份mysql数据库

近期利用空余时间学习了python的一些基础内容,用来实践,做了一个Mysql备份的脚本,按日备份并打包压缩:python比原来的shell只能运行在linux下面更广泛一些,而且后期扩展也更好. ################################## Functions: 1)按日备份数据库,并将备份文件压缩打包: 2)成功则将备份信息写入日志,失败则发邮件告警给管理员: 3)如果已经备份成功,不再重复备份: 4)稍作改动,可用于WINDOWS备份 ###############

如何远程备份MySQL binlog

以前备份binlog时,都是先在本地进行备份压缩,然后发送到远程服务器中.但是这其中还是有一定风险的,因为日志的备份都是周期性的,如果在某个周期中,服务器宕机了,硬盘损坏了,就可能导致这段时间的binlog就丢失了. 而且,以前用脚本对远程服务器进行备份的方式,有个缺点:无法对MySQL服务器当前正在写的二进制日志文件进行备份.所以,只能等到MySQL服务器全部写完才能进行备份.而写完一个binlog的时间并不固定,这就导致备份周期的不确定. 从MySQL5.6开始,mysqlbinlog支持将

Python脚本---备份MySQL数据库

转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/45848057 #!/usr/bin/env python # -*- coding:utf-8 -*- #导入模块import MySQLdbimport timeimport datetimeimport os """  Purpose: 备份数据库  Created: 2015/5/12  Modified:2015/5/12  @author: guoyJoe&

python 个人备份mysql

命名目录+文件名 inset into # -*- coding: UTF-8 -*- #!/usr/bin/env python ########################################################### # # This python script is used for mysql database backup # using mysqldump utility. # ######################################

Python 备份MySQL,并同步rsync server

# vim: tabstop=4 shiftwidth=4 softtabstop=4 # Copyright 2010 United States Government as represented by the # Administrator of the National Aeronautics and Space Administration. # Copyright 2011 Justin Santa Barbara # All Rights Reserved. # Copyright

mysql(mariadb)定时自动热备份+增量+远程备份脚本

优点:热备份,不影响业务,增量备份,远程备份. 目的:自动打包备份到远程10.0.0.111备份服务器 前提: 1.安装xtrabackup yum install http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm yum install percona-xtrabackup-22 2.创建目录 mkdir -p /data/backup mkdir -p

python 远程连接数据库显示can't connect to mysql server on 'lo... 解决方案

执行quit退出mysql. 由于MySQL默认支队本地使用,没有开放远程连接,于是需要到配置文件中去修改,当然新版的MySQL不知道为什么配置文件和以前不太一样了,以前都放在:/etc/mysql/my.cnf里,但是现在我们去看看变成什么样了: 运行: 1 sudo vi /etc/mysql/my.cnf 结果发现my.cnf里的内容是这样的,本人个人猜测是MySQL优化结构了,效果如图: 原来的配置文件变成了包含目录结构,于是在上面提到的两个目录里找找,很快就能找到配置文件原来是:/et