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 相关文章推荐
利用Python中的mock库对Python代码进行模拟测试
Apr 16 Python
python实现图书管理系统
Mar 12 Python
Python cookbook(数据结构与算法)从序列中移除重复项且保持元素间顺序不变的方法
Mar 13 Python
python os用法总结
Jun 08 Python
python实现简易内存监控
Jun 21 Python
python将类似json的数据存储到MySQL中的实例
Jul 12 Python
python自动化测试之异常及日志操作实例分析
Nov 09 Python
Python基于codecs模块实现文件读写案例解析
May 11 Python
Selenium之模拟登录铁路12306的示例代码
Jul 31 Python
python自动化测试三部曲之request+django实现接口测试
Oct 07 Python
pytorch 移动端部署之helloworld的使用
Oct 30 Python
Python爬虫数据的分类及json数据使用小结
Mar 29 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
php精度计算的问题解析
2019/06/21 PHP
PHP实现15位身份证号转18位的方法分析
2019/10/16 PHP
js实现单行文本向上滚动效果实例代码
2013/11/28 Javascript
JavaScript数据类型检测代码分享
2015/01/26 Javascript
JS数字抽奖游戏实现方法
2015/05/04 Javascript
jQuery使用animate创建动画用法实例
2015/08/07 Javascript
为什么JavaScript没有块级作用域
2016/05/22 Javascript
将JSON字符串转换成Map对象的方法
2016/11/30 Javascript
Bootstrap基本样式学习笔记之按钮(4)
2016/12/07 Javascript
jQuery实现表格奇偶行显示不同背景色 就这么简单
2017/03/13 Javascript
利用Javascript实现一套自定义事件机制
2017/12/14 Javascript
Vue.js进阶知识点总结
2018/04/01 Javascript
深入理解JavaScript 箭头函数
2019/05/30 Javascript
浅谈Vue项目骨架屏注入实践
2019/08/05 Javascript
Vue + Element UI图片上传控件使用详解
2019/08/20 Javascript
python lambda表达式(匿名函数)写法解析
2019/09/16 Python
Python小白不正确的使用类变量实例
2020/05/29 Python
详解Python调用系统命令的六种方法
2021/01/28 Python
python 爬取腾讯视频评论的实现步骤
2021/02/18 Python
爱尔兰电脑、家电和家具购物网站:Buy It Direct
2019/07/09 全球购物
几道Java和数据库的面试题
2013/05/30 面试题
交通安全演讲稿
2014/01/07 职场文书
一份婚庆公司创业计划书
2014/01/11 职场文书
物控部经理职务说明书
2014/02/25 职场文书
我的理想演讲稿
2014/04/30 职场文书
2014年乡镇领导个人整改措施
2014/09/19 职场文书
2014超市双十一活动策划方案
2014/09/29 职场文书
学校三八妇女节活动总结
2015/02/06 职场文书
我们的节日重阳节活动总结
2015/03/24 职场文书
音乐课外活动总结
2015/05/09 职场文书
惊涛骇浪观后感
2015/06/05 职场文书
运动会宣传稿100字
2015/07/23 职场文书
诚信教育主题班会
2015/08/13 职场文书
2016中秋节晚会开场白
2015/11/26 职场文书
不知如何爱孩子,这些方法教会您
2019/08/06 职场文书
Java的Object类的九种方法
2022/04/13 Java/Android