用Python脚本备份Mysql数据库

#!/usr/bin/env python
#coding=utf8
#author : itnihao
#mail   : itnihao@qq.com
#source : http://code.taobao.org/p/python2/src/trunk/
#version:1.0    

'''
功能:mysql备份。用mysqldump对mysql中各库进行备份
1.user,pass,host,path,del参数为变量
2.默认备份删除周期为5天,备份以天为单位
3.默认备份路径为/mysql_backup,如果不存在会建立此目录
4.用法为加执行权限,定时任务运行
'''
import os,subprocess,datetime    

'''设置变量'''
MYSQL_USER = 'root'
MYSQL_PASS = 'pass'
MYSQL_HOST = 'localhost'
DEL_DAYS   = 5
BACK_PATH  = '/mysql_backup'

'''''时间设置'''
CUR_TIME = datetime.date.today()
AGO_TIME = datetime.timedelta(days=DEL_DAYS)
DEL_TIME = CUR_TIME - AGO_TIME
DATABASE = ''

'''备份函数'''
def mysqldump():
    if os.path.isdir(BACK_PATH):
        os.chdir(BACK_PATH)
    else:
        os.mkdir(BACK_PATH)
        os.chdir(BACK_PATH)
    database_cmd=subprocess.Popen("mysql -u%s -p%s -h%s -e 'show databases'|grep -v Database|grep -v information" %(MYSQL_USER,MYSQL_PASS,MYSQL_HOST),stdout=subprocess.PIPE,shell=True)
    DATABASE_NAME=database_cmd.stdout.read().split()
    for DATABASE  in DATABASE_NAME:
        MYSQLDUMP_FILENAME="/mysql_backup/%s%s.sql"%(CUR_TIME,DATABASE)
        subprocess.call("mysqldump -u%s -p%s -h%s %s>%s" %(MYSQL_USER,MYSQL_PASS,MYSQL_HOST,DATABASE,MYSQLDUMP_FILENAME),shell=True)
        if os.path.isfile('${DEL_TIME}${DATABASE}.sql'):
            subprocess.call("rm ${DEL_TIME}${DATABASE}.sql",shell=True)    

mysqldump()

脚本下载地址http://code.taobao.org/p/python2/src/trunk/mysql_backup.py

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索taobao
, 备份
, database
, mysqldump
, subprocess
, python中的subprocess
, shell备份mysql
, 定时备份Shell脚本
mysql.host
mysql数据库备份脚本、python mysql备份脚本、python连接数据库脚本、python 数据库脚本、python脚本链接数据库,以便于您获取更多的相关知识。

时间: 2024-09-27 07:11:49

用Python脚本备份Mysql数据库的相关文章

shell脚本备份mysql数据库

shell脚本备份mysql数据库 需求 临近年关整理一些脚本程序,发现一个mysql数据库备份的脚本可以和大家分享一下,基于环境是ubuntu10.04server 思路 获取mysql服务器所有数据库名称,过滤掉不需要备份的数据库 通过mysqldump来for循环导出所有的数据库的sql文件 用zip加密压缩所有的sql文件 定期进行数据清理工作 shell代码 数据库导出代码 [html] #!/bin/bash #1.数据库信息定义 mysql_host="192.168.1.1&qu

linux中利用python脚本备份mysql、redis、mongodb数据库

安装可以直接用pip执行:  代码如下 复制代码 pip install yunbk github地址如下: https://github.com/dantezhu/yunbk 而用法也非常简单,比如要备份mysql,则代码如下:  代码如下 复制代码 from yunbk import YunBK from yunbk.backend.local import LocalBackend   import sh   backend = LocalBackend('/data/backup')  

Linux Shell脚本之利用mysqldump备份MySQL数据库(详细注解)

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://dgd2010.blog.51cto.com/1539422/1678653 设计该脚本的一些设计.编写考虑: 该脚本适用于编译安装mysql和通过yum或apt-get等安装方式 该脚本可以反复执行,不会重复覆盖数据 可增加,删除N天前的备份以节省磁盘空间 充分利用mysqldump的自带锁表功能.刷新日志.复制等功能 利用mysqldump命令备份MySQL数据库的脚本(不带

mysqldump使用脚本自动备份mysql数据库

问题描述 mysqldump使用脚本自动备份mysql数据库 在linux服务器使用脚本自动数据库时,报如下错误,备份不成功,求问大神如何解决:Warning: Using a password on the command line interface can be insecure 以下是我的脚本:#!/bin/shDUMP=/usr/local/mysql/bin/mysqldumpOUT_DIR=/home/dbbak/todayOUT_HISTORY_DIR=/home/dbbak/o

一个备份MySQL数据库的简单Shell脚本

Shell脚本是我们写不同类型命令的一种脚本,这些命令在这一个文件中就可以执行.我们也可以逐一敲入命令手动执行.如果我们要使用shell脚本就必须在一开始把这些命令写到一个文本文件中,以后就可以随意反复运行这些命令了. 我首先要在本文带给你的是完整脚本.后面会对该脚本做说明.我假定你已经知道shell scripting. mysqldump和crontab. 适用操作系统:任何Linux或UNIX. 主脚本(用于备份mysql数据库): 该Shell脚本可以自动备份数据库.只要复制粘贴本脚本到

Linux VPS自动定时备份MySQL数据库发送至邮箱实现脚本

如今,我们在选择主机建站或者部署项目的时候,越发觉得VPS.服务器性价比会高很多,比如我们经常有看到年付十几美金.二十几美金的VPS服务器.相比较传统的虚拟主机是便宜很多,不过老蒋一直强调,如果我们是普通的个人博客.个人网站,如果虚拟主机能够满足需求的,建议还是要使用虚拟主机.因为虚拟主机站长维护成本较低,而且稳定性和安全性比VPS.服务器强一些. 因为,大部分VPS服务器都是无管理型的,所有的环境配置.网站部署.数据安全都需要我们自己来运维.尤其对于很多Linux服务器新手用户,老蒋遇到很多选

Linux自动备份MySQL数据库脚本代码

下面这段Linux的Shell脚本用于每日自动备份MySQL数据库,可通过Linux的crontab每天定时执行.在脚本中可设置需要备份的数据库表清单,并且会将备份文件通过gzip压缩.需要注意的是,这段脚本仅适用数据一致性要求不高的环境.  代码如下 复制代码 #!/bin/bash mysql_pwd="password" mysql_dump="/usr/local/mysql/bin/mysqldump" cur_year=$(date +"%Y&

Linux自动备份MySQL数据库的实用方法

MySQL定期备份是一项重要的工作,但人工操作太繁琐,也难避免有所疏漏,使用下面的方法即可让系统定期备份数据. ◆1.创建备份文件夹 #cd /www #makedir backup ◆2.编写运行脚本 #vi autobackup 写入以下内容: filename=`date +%Y%m%d` mysql_bin_dir/mysqldump –opt dataname -u user -ppassword gzip > /www/mysqlbackup/name$filename.gz 保存退

Linux自动备份MySQL数据库

MySQL定期备份是一项重要的工作,但人工操作太繁琐,也难避免有所疏漏,使用下面的方法即可让系 统定期备份数据. 1.创建备份文件夹 #cd /www #makedir backup 2.编写运行脚本 #vi autobackup 写入以下内容: filename=`date +%Y%m%d` mysql_bin_dir/mysqldump –opt dataname -u user -ppassword | gzip > /www/mysqlbackup/name$filename.gz 保存