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‘
PASSWORD = ‘123456‘
PORT = ‘3306‘
MYSQLDUMP = ‘/usr/bin/mysqldump‘
GZIP = ‘/usr/bin/gzip‘
DATABASES = [‘virtualTest‘]
TO_BACKUP_DIR="/tmp/data_backup/"
for  DB in  DATABASES:
    #backup file name
    Backupfile_name = TO_BACKUP_DIR + DB +  ‘-‘ + time.strftime(‘%Y-%m-%d‘) + ‘.sql‘
    Gzipfile_name = Backupfile_name + ‘.gz‘
    if os.path.isfile(Gzipfile_name):
        print Gzipfile_name + " is already backup"
    else:
        Backup_command = MYSQLDUMP  + ‘ -h‘ + HOST + ‘ -u‘ +  USER  + ‘ -p‘ + PASSWORD  + ‘ --single-transaction ‘ +   DB  + ‘ >‘  +  Backupfile_name
        if os.system(Backup_command) == 0:
            TEXT = "virtual数据库备份成功"
            HOST = "smtp.163.com"
            FROM = "[email protected]"
            PASS=‘123456‘
            TO = [‘[email protected]‘,‘[email protected]‘]
            SUBJECT = "virtual数据库备份情况"
            BODY=string.join((
                    "From: %s" %FROM,
                    "To: %s" %TO,
                    "Subject: %s" %SUBJECT,
                    "",
                    TEXT
                    ),"\r\n")
            Server=smtplib.SMTP()
            Server.connect(HOST,25)
            Server.login(FROM,PASS)
            for to_user in TO:
                Server.sendmail(FROM,TO,BODY)
            Server.quit()
        else:
            TEXT = "virtual数据库备份成功"
            HOST = "smtp.163.com"
            FROM = "[email protected]"
            PASS=‘123456‘
            TO = [‘[email protected]‘,‘[email protected]‘]
            SUBJECT = "virtual数据库备份情况"
            BODY=string.join((
                    "From: %s" %FROM,
                    "To: %s" %TO,
                    "Subject: %s" %SUBJECT,
                    "",
                    TEXT
                    ),"\r\n")
            Server=smtplib.SMTP()
            Server.connect(HOST,25)
            Server.login(FROM,PASS)
            for to_user in TO:
                    Server.sendmail(FROM,TO,BODY)
            Server.quit()
        GZIP_command = GZIP + ‘ ‘ +  Backupfile_name
        if os.system(GZIP_command) == 0:
                print ‘Successful gzip‘ + Backupfile_name +  ‘ to ‘ + Gzipfile_name
        else:
                print ‘Successful gzip‘ + Backupfile_name +  ‘ to ‘ + Gzipfile_name
时间: 2024-08-03 09:54:08

python备份mysql数据库并发送邮件的相关文章

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/:"

使用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

Linux下定时备份MySQL数据库的Shell脚本

Linux下定时备份MySQL数据库的Shell脚本 对任何一个已经上线的网站站点来说,数据备份都是必须的.无论版本更新还是服务器迁移,备份数据的重要性不言而喻.人工备份数据的方式不单耗费大量时间和精力,还灰常不专业的说.于是,有了下面这段脚本的出现.参考了网上的很多教程,外加自己的测试,以下脚本经测试可用.#!/bin/bash#Shell Command For Backup MySQL Database Everyday Automatically By Crontab#Author :

备份MySQL数据库

备份MySQL数据库脚本: #!/bin/bash # description: MySQL buckup shell script # author: lmj # web site: http://www.cnblogs.com/dscode st=$(date +%s) USER="root" # 用户名 PASSWORD="root" # 密码 DATABASE="myblogdb" # 数据库 MAIL="[email prot

第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