python备份mysql数据库

原本可以用shell完成的功能,现在学习python,就照抄照改。完成数据库备份。

#!/usr/bin/python
#-*-coding:utf-8-*-
#MYSQL BACK
import string,time,os,datetime
import sys,logging,stat
import subprocess
#os.environ.get(‘PERONA_A’)
os.environ["PATH"]="/usr/local/mysql/bin/:"
# os.putenv("PATH","/usr/local/mysql/bin/:")
#os.putenv(“PATH”,”/usr/bin/”)
# os.environ["PATH"]
year= time.strftime(‘%Y‘,time.localtime(time.time()))
moth= time.strftime(‘%m‘,time.localtime(time.time()))
data_path ="/mysqlbak/"+year+"/"+moth+"/"
sql_user ="root"
sql_pwd ="sh123456"
sql_ip ="127.0.0.1"
all="--all-databases --events"
def loger(datapath,logfile="mysqlbak.log"):
    """创建日志文件"""
    if not os.path.exists(datapath):
        os.makedirs(datapath)
    log_filename = datapath+logfile
    log_format = ‘%(filename)s [%(asctime)s] [%(levelname)s] %(message)s‘     
    logging.basicConfig(filename=log_filename,format=log_format,datefmt=‘%Y-%m-%d %H:%M:%S %p‘,level=logging.DEBUG)
#----------------------------------------------------------------------
def ClearDir(dir,age):
    """删除几天前的文件,age为时间长,如(86400为一天)"""
    for file in os.listdir(dir):
        now = time.time()
        filepath = os.path.join(dir,file)
        files = os.stat(filepath).st_mtime
        if files < now - age:
            if os.path.isfile(filepath):
                os.remove(filepath)
                logging.info("%s remove success!!!" % filepath)
   
def mysql_backup(filename):
    backup_name = data_path+filename+"%s.sql" %(time.strftime("%Y%m%d%H%M"))  
    sql_comm =‘mysqldump %s -h%s -u%s -p%s > %s‘%(all,sql_ip,sql_user,sql_pwd,backup_name)
    #print sql_comm
    if os.system(sql_comm) ==0:
        return logging.info("%s back success!!!!" %backup_name)
        #print "scuess !"
    else:
        return logging.error("%s back Failed!!!" %backup_name)
        #print "Failer !!!!"
#----------------------------------------------------------------------
   
if __name__ =="__main__":
    loger(data_path)
    SQL_backup =mysql_backup("app_")
    ClearDir(data_path,(7 * 86400))
时间: 2024-11-05 12:30:04

python备份mysql数据库的相关文章

python备份mysql数据库并发送邮件

#!/usr/bin/env python #coding:utf-8 #Write by JIANGLEI.YU #Update On  2016-01-24 20:26 import os import time import sys import datetime import smtplib import string from stat import * #Define DB  Informations HOST = '192.168.0.135' USER = 'root' PASS

使用python操作mysql数据库

这是我之前使用mysql时用到的一些库及开发的工具,这里记录下,也方便我查阅. python版本: 2.7.13 mysql版本: 5.5.36 几个python库 1.mysql-connector-python 是MySQL官方的Python驱动 https://dev.mysql.com/doc/connector-python/en/ 安装: pip install mysql-connector 示例代码: https://github.com/mike-zhang/pyExample

第9课:备份mysql数据库、重写父类、unittest框架、多线程

1. 写代码备份mysql数据库: 1)Linux下,备份mysql数据库,在shell下执行命令:mysqldump -uroot -p123456 -A >db_bak.sql即可 import os import datetime class BakDb(object): def __init__(self, ip, username, passwd, port=3306, path='/tmp/db_bak'): self.ip = ip self.username = username

python操作mysql数据库

连接数据库 输入值 存入数据库 关闭 import string import mysql.connector conn=mysql.connector.connect(user='root',password='test',database='dalian',use_unicode=True) cursor=conn.cursor() a=raw_input('enter an id: ') b=raw_input('enter a name: ') while(a!='quit' or b!

Python使用MySQL数据库(新)

之前写过一篇 Python使用MySQL数据库的博客,主要使用的是Python2和MySQLdb驱动. python使用mysql数据库 然而,2016年开始,我从Python2切换到了Python3,Python2已经基本不再使用,MySQLdb驱动从2014年1月停止了维护.所以,打算重新再来写这篇博客. Python2 ---> Python3 MySQLdb --> PyMySQL 一,安装PyMySQL Python是编程语言,MySQL是数据库,它们是两种不同的技术:要想使Pyth

python使用mysql数据库

一,安装mysql 如果是windows 用户,mysql 的安装非常简单,直接下载安装文件,双击安装文件一步一步进行操作即可. Linux 下的安装可能会更加简单,除了下载安装包进行安装外,一般的linux 仓库中都会有mysql ,我们只需要通过一个命令就可以下载安装: Ubuntu\deepin >>sudo apt-get install mysql-server >>Sudo apt-get install  mysql-client centOS/redhat >

备份MySQL数据库的命令

这篇文章主要介绍了mysql数据库备份常用语句,包括数据库压缩备份.备份多个MySQL数据库.备份多个MySQL数据库.将数据库转移到新服务器等语句 代码如下: mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql 备份MySQL数据库为带删除表的格式 备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库. 代码如下: mysqldump -–add-drop-tab

C#使用MysqlBackup.Net 备份MySQL数据库

首先 声明这篇博文没有什么技术水平  希望各位大神口下留情 好的  咱们进入主题 开场介绍一下这个MysqlBackup.Net dll 是国外开源的作品  官方网站 https://mysqlbackupnet.codeplex.com/ 我这里提供目前官方最新版本 2.0.9.2   解压缩后里面会有两个文件夹   binaries里面是类库 里面分各个.net版本    source code里面是源代码 有兴趣的同学可自行下载研究其代码 点击下载MysqlBackup.Net 因为我项目

一个自动备份mysql数据库的bat文件内容

自动备份mysql数据库,并已当前的日期时间为目录 copy过去, xcopy将近15年没有用dos命令,还是这么亲切 另 本方法是备份数据库文件,不是dump导出,然后再计划任务中使用,我用的是wamp,其他的环境类似的改改即可 ====dbback.bat============ NET STOP wampapacheNET STOP wampmysqldset /a t1=(1%time:~0,2%-100)*1if %t1% LSS 10 set t1=0%t1%set ymd_hms=