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实现的生成自我描述脚本分享(很有意思的程序)
Jul 18 Python
使用python编写脚本获取手机当前应用apk的信息
Jul 21 Python
Python中列表(list)操作方法汇总
Aug 18 Python
简述Python2与Python3的不同点
Jan 21 Python
Python学习之Django的管理界面代码示例
Feb 10 Python
Python3使用turtle绘制超立方体图形示例
Jun 19 Python
解决tensorflow1.x版本加载saver.restore目录报错的问题
Jul 26 Python
python 串口读取+存储+输出处理实例
Dec 26 Python
VScode连接远程服务器上的jupyter notebook的实现
Apr 23 Python
利用django创建一个简易的博客网站的示例
Sep 29 Python
浅谈matplotlib默认字体设置探索
Feb 03 Python
Python 操作pdf pdfplumber读取PDF写入Exce
Aug 14 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 图片文件上传实现代码
2010/12/29 PHP
php 静态属性和静态方法区别详解
2017/04/09 PHP
利用phpexcel对数据库数据的导入excel(excel筛选)、导出excel
2017/04/27 PHP
javascript Math.random()随机数函数
2009/11/04 Javascript
nodejs教程 安装express及配置app.js文件的详细步骤
2013/05/11 NodeJs
JS 对输入框进行限制(常用的都有)
2013/07/30 Javascript
JavaScript使用ActiveXObject访问Access和SQL Server数据库
2015/04/02 Javascript
JavaScript中的函数嵌套使用
2015/06/04 Javascript
JQuery实现鼠标滚轮滑动到页面节点
2015/07/28 Javascript
详解JavaScript中基于原型prototype的继承特性
2016/05/05 Javascript
javascript中href和replace的比较(详解)
2016/11/25 Javascript
Angular.js实现多个checkbox只能选择一个的方法示例
2017/02/24 Javascript
JS实现双击内容变为可编辑状态
2017/03/03 Javascript
为JQuery EasyUI 表单组件增加焦点切换功能的方法
2017/04/13 jQuery
vue中的适配px2rem示例代码
2018/11/19 Javascript
图片文字识别(OCR)插件Ocrad.js教程
2018/11/26 Javascript
详解VUE单页应用骨架屏方案
2019/01/17 Javascript
微信小程序textarea层级过高(盖住其他元素)问题的解决办法
2019/03/04 Javascript
JS document对象简单用法完整示例
2020/01/14 Javascript
通过实例解析JavaScript for in及for of区别
2020/06/15 Javascript
[48:45]Ti4 循环赛第二日 NEWBEE vs EG
2014/07/11 DOTA
python根据距离和时长计算配速示例
2014/02/16 Python
微信跳一跳小游戏python脚本
2018/01/05 Python
Python对数据进行插值和下采样的方法
2018/07/03 Python
django+mysql的使用示例
2018/11/23 Python
Python后台开发Django会话控制的实现
2019/04/15 Python
python实现微信定时每天和女友发送消息
2019/04/29 Python
Python常用模块之requests模块用法分析
2019/05/15 Python
python实现H2O中的随机森林算法介绍及其项目实战
2019/08/29 Python
Python实现生成密码字典的方法示例
2019/09/02 Python
python json 递归打印所有json子节点信息的例子
2020/02/27 Python
联想印度官方网上商店:Lenovo India
2019/08/24 全球购物
如何用Lucene索引数据库
2016/02/23 面试题
行政部经理助理岗位职责
2014/06/15 职场文书
小学运动会开幕词
2016/03/04 职场文书
关于springboot 配置date字段返回时间戳的问题
2021/07/25 Java/Android