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


Posted in Python onMarch 08, 2018

一、先来看备份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 相关文章推荐
windows下Virtualenvwrapper安装教程
Dec 13 Python
Python3正则匹配re.split,re.finditer及re.findall函数用法详解
Jun 11 Python
python 读写文件,按行修改文件的方法
Jul 12 Python
python实现键盘输入的实操方法
Jul 16 Python
pandas read_excel()和to_excel()函数解析
Sep 19 Python
python序列化与数据持久化实例详解
Dec 20 Python
Python基于class()实现面向对象原理详解
Mar 26 Python
Python脚本如何在bilibili中查找弹幕发送者
Jun 04 Python
django有哪些好处和优点
Sep 01 Python
详解Python 3.10 中的新功能和变化
Apr 28 Python
Python基础教程,Python入门教程(超详细)
Jun 24 Python
Python开发简易五子棋小游戏
May 02 Python
python实现12306抢票及自动邮件发送提醒付款功能
Mar 08 #Python
TensorFlow模型保存/载入的两种方法
Mar 08 #Python
python2.7 json 转换日期的处理的示例
Mar 07 #Python
教你用Python创建微信聊天机器人
Mar 31 #Python
为什么入门大数据选择Python而不是Java?
Mar 07 #Python
详解Python中如何写控制台进度条的整理
Mar 07 #Python
python爬虫爬取网页表格数据
Mar 07 #Python
You might like
使用VisualStudio开发php的图文设置方法
2010/08/21 PHP
关于PHP session 存储方式的详细介绍
2013/06/25 PHP
javascript 系统文件夹文件操作及参数介绍
2013/01/08 Javascript
js单例模式的两种方案
2013/10/22 Javascript
jQuery封装的获取Url中的Get参数示例
2013/11/26 Javascript
Javascript writable特性介绍
2015/02/27 Javascript
JS绘制生成花瓣效果的方法
2015/08/05 Javascript
JS瀑布流实现方法实例分析
2016/12/19 Javascript
javascript 网页进度条简单实例
2017/02/22 Javascript
使用AngularJS编写多选按钮选中时触发指定方法的指令代码详解
2017/07/24 Javascript
Nodejs 和 Electron ubuntu下快速安装过程
2018/05/04 NodeJs
详解如何运行vue项目
2019/04/15 Javascript
JavaScript+HTML5 canvas实现放大镜效果完整示例
2019/05/15 Javascript
Python中几种操作字符串的方法的介绍
2015/04/09 Python
在Python中使用元类的教程
2015/04/28 Python
Python排序算法实例代码
2017/08/10 Python
把csv文件转化为数组及数组的切片方法
2018/07/04 Python
配置 Pycharm 默认 Test runner 的图文教程
2018/11/30 Python
用python求一个数组的和与平均值的实现方法
2019/06/29 Python
python多任务之协程的使用详解
2019/08/26 Python
python matplotlib拟合直线的实现
2019/11/19 Python
Python使用指定字符长度切分数据示例
2019/12/05 Python
python中读入二维csv格式的表格方法详解(以元组/列表形式表示)
2020/04/24 Python
pyqt5 textEdit、lineEdit操作的示例代码
2020/08/12 Python
澳大利亚排名第一的儿童在线玩具商店:Toy Galaxy
2018/10/06 全球购物
化学相关工作求职信
2013/10/02 职场文书
母亲七十大寿答谢词
2014/01/18 职场文书
广告词串烧
2014/03/19 职场文书
综艺节目策划方案
2014/06/13 职场文书
2014年幼儿园国庆主题活动方案
2014/09/16 职场文书
三严三实学习心得体会
2014/10/13 职场文书
庆祝教师节主持词
2015/07/06 职场文书
pytorch实现ResNet结构的实例代码
2021/05/17 Python
python基础入门之普通操作与函数(三)
2021/06/13 Python
总结Python使用过程中的bug
2021/06/18 Python
详细介绍Java中的CyclicBarrier
2022/04/13 Java/Android