Python实现定时备份mysql数据库并把备份数据库邮件发送

一、先来看备份mysql数据库的命令

mysqldump -u root --password=root --database abcDataBase > c:/abc_backup.sql 

二、写Python程序

BackupsDB.py

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 '''''
zhouzhongqing 

备份数据库

'''
import os
import time
import sched
import smtplib
from email.mime.text import MIMEText
from email.header import Header
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication
# 第一个参数确定任务的时间,返回从某个特定的时间到现在经历的秒数
# 第二个参数以某种人为的方式衡量时间
schedule = sched.scheduler(time.time, time.sleep);
def backupsDB():
        # 如果是linux改下路径就可以了
  cmdString = 'D:/php/phpStudy/MySQL/bin/mysqldump -u root --password=root --database abcDataBase > c:/abc_backup.sql';
  os.system(cmdString);
def sendMail():
  _user = "mall@xxxx.com"#发送者的邮箱
  _pwd = "xxxx"#发送者的密码
  _to = "1030907690@qq.com"#接收者的邮箱
  # 如名字所示Multipart就是分多个部分
  msg = MIMEMultipart()
  msg["Subject"] = "商城数据库备份"
  msg["From"] = _user
  msg["To"] = _to
  # ---这是文字部分---
  part = MIMEText("商城数据库备份")
  msg.attach(part)
  # ---这是附件部分---
  # 类型附件
  part = MIMEApplication(open('c:/abc_backup.sql', 'rb').read())
  part.add_header('Content-Disposition', 'attachment', filename="abc_backup.sql")
  msg.attach(part)
  s = smtplib.SMTP("smtp.exmail.qq.com", timeout=30) # 连接smtp邮件服务器,端口默认是25
  s.login(_user, _pwd) # 登陆服务器
  s.sendmail(_user, _to, msg.as_string()) # 发送邮件
  s.close();
def perform_command(cmd, inc):
  # 安排inc秒后再次运行自己,即周期运行
  schedule.enter(inc, 0, perform_command, (cmd, inc));
  os.system(cmd);
  backupsDB();
  sendMail();
def timming_exe(cmd, inc=60):
  # enter用来安排某事件的发生时间,从现在起第n秒开始启动
  schedule.enter(inc, 0, perform_command, (cmd, inc))
  # 持续运行,直到计划时间队列变成空为止
  schedule.run()
if __name__ == '__main__':
  print("show time after 10 seconds:");
  timming_exe("echo %time%", 56400);#每间隔56400秒备份发送邮件
  #46400 基本上是半天 

然后命令

py BackupsDB.py 

运行程序就可以了。

总结

以上所述是小编给大家介绍的Python实现定时备份mysql数据库并把备份数据库邮件发送,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

您可能感兴趣的文章:

  • Python实现备份MySQL数据库的方法示例
  • python备份文件以及mysql数据库的脚本代码
  • Python实现简单的文件传输与MySQL备份的脚本分享
  • 使用Python发送邮件附件以定时备份MySQL的教程
  • Python备份Mysql脚本
  • Python Mysql自动备份脚本
(0)

相关推荐

  • Python实现简单的文件传输与MySQL备份的脚本分享

    用python实现简单Server/Client文件传输: 服务器端: #!/usr/bin/python import SocketServer, time class MyServer(SocketServer.BaseRequestHandler): userInfo = { 'leonis' : 'leonis', 'hudeyong' : 'hudeyong', 'mudan' : 'mudan' } def handle(self): print 'Connected from',

  • Python实现备份MySQL数据库的方法示例

    本文实例讲述了Python实现备份MySQL数据库的方法.分享给大家供大家参考,具体如下: #!/usr/bin/env python # -*- coding:utf-8 -*- #导入模块 import MySQLdb import time import datetime import os """ Purpose: 备份数据库 Created: 2015/5/12 Modified:2015/5/12 @author: guoyJoe ""&quo

  • python备份文件以及mysql数据库的脚本代码

    复制代码 代码如下: #!/usr/local/python import os import time import string source=['/var/www/html/xxx1/','/var/www/html/xxx2/'] target_dir='/backup/' target=target_dir+time.strftime('%Y%m%d') zip_comm='zip -r %s %s'%(target," ".join(source)) target_data

  • 使用Python发送邮件附件以定时备份MySQL的教程

    最近迁移了wordpress,系统升级为CentOS 6,很奇怪的一个问题,在原来CentOS 5.8下用的很正常的定时备份数据库并通过邮件发送的脚本不能发送附件,其他都正常,邮件内容也是uuencode生成的文件编码,但是就是不产生附件.而且找不出原因,望有知道的不吝赐教. 为了解决这一问题,我用Python写了一个mail客户端,可以发送附件,是一个命令行程序.废话不多说.贴代码: #!/usr/bin/env python #-*- coding: utf8 -*- ''' #======

  • Python备份Mysql脚本

    复制代码 代码如下: #!/usr/bin/python import os  import time  import ftplib  import traceback #config vars  systempathchr="/" #路径分割符,*nix用"/" win32用"\\" dbuser="root" #数据库用户名  dbpwd="dbpwd" #数据库密码  dbnamelist=[&quo

  • Python Mysql自动备份脚本

    测试系统环境  Windows 2003   python 2.5.1  mysql 5.0.1 应该只适用于Win,因为调用了CMD. 增量备份,因为自用,数据库不大. 回头有了需求加上自检测,5天前的自动删除. #!/usr/bin/env python #encoding=utf-8 #Mysql auto backup #Author:   vane import os, sys, datetime reload(sys) sys.setdefaultencoding('utf-8')

  • 定时导出mysql本地数据替换远程数据库数据脚本分享

    复制代码 代码如下: 需求在每天的5点将192.168.3.5上ser_a库中的tb_a表导入到192.168.3.6上的ser_b库中,表名还叫tb_a服务端脚本/usr/shell_clubs/auto_sql/server.sh#!/bin/sh#code by scpman/usr/bin/find /usr/shell_clubs/auto_sql/ -name "*.sql" -mtime +3|xargs rm #del old sql#get new sqltime=`

  • Python实现定时备份mysql数据库并把备份数据库邮件发送

    一.先来看备份mysql数据库的命令 mysqldump -u root --password=root --database abcDataBase > c:/abc_backup.sql 二.写Python程序 BackupsDB.py #!/usr/bin/python # -*- coding: UTF-8 -*- ''''' zhouzhongqing 备份数据库 ''' import os import time import sched import smtplib from em

  • linux实现mysql数据库每天自动备份定时备份

     概述 备份是容灾的基础,是指为防止系统出现操作失误或系统故障导致数据丢失,而将全部或部分数据集合从应用主机的硬盘或阵列复制到其它的存储介质的过程.而对于一些网站.系统来说,数据库就是一切,所以做好数据库的备份是至关重要的! 备份是什么? 为什么要备份 容灾方案建设 存储介质 光盘 磁带 硬盘 磁盘阵列 DAS:直接附加存储 NAS:网络附加存储 SAN:存储区域网络 云存储 这里主要以本地磁盘为存储介质讲一下计划任务的添加使用,基本的备份脚本,其它存储介质只是介质的访问方式可能不大一样. 1.

  • Linux shell实现每天定时备份mysql数据库

    每天定时备份mysql数据库任务,删除指定天数前的数据,保留指定天的数据: 需求:   1,每天4点备份mysql数据:   2,为节省空间,删除超过3个月的所有备份数据:   3,删除超过7天的备份数据,保留3个月里的 10号 20号 30号的备份数据: #创建shell文件 vim backup_mysql.sh mysqldump -uroot -p123456 --all-databases > /data/dbdata/mysqlbak/`date +%Y%m%d`.sql find

  • python定时按日期备份MySQL数据并压缩

    本文实例为大家分享了python定时按日期备份MySQL数据并压缩的具体代码,供大家参考,具体内容如下 #-*- coding:utf-8 -*- import os import time import tarfile import zipfile ''' mysqldump Usage: mysqldump [OPTIONS] database [tables] OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...] OR

  • Linux实现定时备份MySQL数据库并删除30天前的备份文件

    1. MySQL5.6以上版本 2. 修改 /etc/my.cnf 文件 # vim /etc/my.cnf [client] host=localhost user=你的数据库用户 password='你的数据库密码' 3. 编写数据库脚本 mysql-backup.sh # vim mysql-backup.sh #!/bin/bash backupDir=数据库备份目录 backupTime=`date +%Y%m%d%H%M%S` mysqldump 你的数据库 | gzip > $ba

  • linux定时备份MySQL数据库并删除以前的备份文件(推荐)

    备份数据库,这是必须会用到的,今天上午花了几个小时整理了一下,结果不错.下面详细的走一遍 一丶选择一个比较大位置来保存备份文件(创建文件就行) 使用mkdir来创建文件夹,这个简单. 二丶检查有没安装crond,如果没有,先安装 rpm -qa|grep cron  安装后会是 一般没有安装,所以先 yum -y install vixie-cron 然后再 yum -y install crontabs 这样服务就安装好了. 三丶写备份脚本 vi  /var/spool/cron/name.s

  • shell脚本定时备份MySQL数据库数据并保留指定时间

    公司用到的MySQL数据库,经常有同事通过一顿骚操作把一些关键的配置数据误删,每次恢复都要花上不少时间,于是写了个shell脚本,结合corntab每天凌晨备份数据库,并保留7天. 同样的备份脚本也可用于生产环境MySQL数据库定时备份. 环境:CentOS 7.5 / MySQL 5.7 #!/bin/sh # 数据库账号信息 DB_USER="root" DB_PWD="root" DB_HOST="127.0.0.1" DB_PORT=&q

随机推荐