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中操作时间之mktime()方法的使用教程
May 22 Python
详解Python3操作Mongodb简明易懂教程
May 25 Python
python实现的二叉树定义与遍历算法实例
Jun 30 Python
Python实现判断给定列表是否有重复元素的方法
Apr 11 Python
numpy中以文本的方式存储以及读取数据方法
Jun 04 Python
Django中的Model操作表的实现
Jul 24 Python
python实现生成Word、docx文件的方法分析
Aug 30 Python
Python中zip()函数的简单用法举例
Sep 02 Python
用python中的matplotlib绘制方程图像代码
Nov 21 Python
pytorch中交叉熵损失(nn.CrossEntropyLoss())的计算过程详解
Jan 02 Python
Python3 assert断言实现原理解析
Mar 02 Python
浅谈在django中使用filter()(即对QuerySet操作)时踩的坑
Mar 31 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单例模式应用详解
2013/06/03 PHP
php微信开发接入
2016/08/27 PHP
JavaScript 版本自动生成文章摘要
2008/07/23 Javascript
javascript 获取select下拉列表值的代码
2009/09/07 Javascript
Prototype源码浅析 Number部分
2012/01/16 Javascript
用jquery中插件dialog实现弹框效果实例代码
2013/11/15 Javascript
javascript设计模式之工厂模式示例讲解
2014/03/04 Javascript
jquery实现在页面加载的时自动为日期插件添加当前日期
2014/08/20 Javascript
jQuery创建DOM元素实例解析
2015/01/19 Javascript
使用angular写一个hello world
2015/01/23 Javascript
JavaScript通过this变量快速找出用户选中radio按钮的方法
2015/03/23 Javascript
js正则匹配出所有图片及图片地址src的方法
2015/06/08 Javascript
js行号显示的文本框实现效果(兼容多种浏览器 )
2015/10/23 Javascript
javascript伸缩型菜单实现代码
2015/11/16 Javascript
JQuery遍历元素的后代和同胞实现方法
2016/09/18 Javascript
Angularjs的Controller间通信机制实例分析
2016/11/07 Javascript
jQuery Easyui datagrid editor为combobox时指定数据源实例
2016/12/19 Javascript
JS实现基于拖拽改变物体大小的方法
2018/01/23 Javascript
JavaScript使用享元模式实现文件上传优化操作示例
2018/08/07 Javascript
vue.js template模板的使用(仿饿了么布局)
2018/08/13 Javascript
Layer+Echarts构建弹出层折线图的方法
2019/09/25 Javascript
layui 上传图片 返回图片地址的方法
2019/09/26 Javascript
详解在Python程序中自定义异常的方法
2015/10/16 Python
Python 正则表达式实现计算器功能
2017/04/29 Python
Python建立Map写Excel表实例解析
2018/01/17 Python
python使用turtle库绘制时钟
2020/03/25 Python
对PyQt5的输入对话框使用(QInputDialog)详解
2019/06/25 Python
python代码如何注释
2020/06/01 Python
幼儿园庆六一游园活动方案
2014/01/29 职场文书
体育活动总结范文
2014/05/04 职场文书
领导班子整改方案和个人整改措施
2014/10/25 职场文书
前台岗位职责
2015/02/13 职场文书
消防演习感想
2015/08/10 职场文书
2015年度考核个人工作总结
2015/10/24 职场文书
Redis 彻底禁用RDB持久化操作
2021/07/09 Redis
css实现两栏布局,左侧固定宽,右侧自适应的多种方法
2021/08/07 HTML / CSS