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 list操作用法总结
Nov 10 Python
Python全局变量用法实例分析
Jul 19 Python
Python实现的多项式拟合功能示例【基于matplotlib】
May 15 Python
pip install urllib2不能安装的解决方法
Jun 12 Python
centos7之Python3.74安装教程
Aug 15 Python
Python多继承以及MRO顺序的使用
Nov 11 Python
Python爬虫爬取煎蛋网图片代码实例
Dec 16 Python
Python面向对象封装操作案例详解
Dec 31 Python
django xadmin 管理器常用显示设置方式
Mar 11 Python
通过python 执行 nohup 不生效的解决
Apr 16 Python
Python 串口通信的实现
Sep 29 Python
python绘制箱型图
Apr 27 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 skymvc 一款轻量、简单的php
2011/06/28 PHP
浅析php如何实现爬取数据原理
2018/09/27 PHP
PHP操作Redis常用命令的实例详解
2020/12/23 PHP
jQuery 表单验证扩展代码(一)
2010/10/11 Javascript
js读取注册表的键值示例
2013/09/25 Javascript
js中substring和substr的定义和用法
2014/05/05 Javascript
DOM节点的替换或修改函数replaceChild()用法实例
2015/01/12 Javascript
angular中使用路由和$location切换视图
2015/01/23 Javascript
Linux下为Node.js程序配置MySQL或Oracle数据库的方法
2016/03/19 Javascript
举例讲解jQuery中可见性过滤选择器的使用
2016/04/18 Javascript
iOS + node.js使用Socket.IO框架进行实时通信示例
2017/04/14 Javascript
jQuery实现动态添加和删除input框实例代码
2019/03/26 jQuery
js+springMVC 提交数组数据到后台的实例
2019/09/21 Javascript
vue深度监听(监听对象和数组的改变)与立即执行监听实例
2020/09/04 Javascript
微信小程序实现签到弹窗动画
2020/09/21 Javascript
Python读取ini文件、操作mysql、发送邮件实例
2015/01/01 Python
Python与shell的3种交互方式介绍
2015/04/11 Python
深入理解Python中字典的键的使用
2015/08/19 Python
Django 生成登陆验证码代码分享
2017/12/12 Python
详解利用OpenCV提取图像中的矩形区域(PPT屏幕等)
2019/07/01 Python
解决Tensorflow 使用时cpu编译不支持警告的问题
2020/02/03 Python
django实现HttpResponse返回json数据为中文
2020/03/27 Python
使用pymysql查询数据库,把结果保存为列表并获取指定元素下标实例
2020/05/15 Python
Python脚本破解压缩文件口令实例教程(zipfile)
2020/06/14 Python
html5拍照功能实现代码(htm5上传文件)
2013/12/11 HTML / CSS
简约控的天堂:The Undone
2016/12/21 全球购物
CAT鞋美国官网:CAT Footwear
2017/11/27 全球购物
竞选班长演讲稿
2013/12/30 职场文书
人力资源经理的岗位职责范本
2014/02/28 职场文书
工作经验交流材料
2014/12/30 职场文书
事业单位年度考核评语
2014/12/31 职场文书
店铺转让协议书
2015/01/29 职场文书
部队2015年终工作总结
2015/04/02 职场文书
贷款工资证明范本
2015/06/12 职场文书
为什么在foreach循环中JAVA集合不能添加或删除元素
2021/06/11 Java/Android
MySQL数据库10秒内插入百万条数据的实现
2021/11/01 MySQL