python实现数据库自动备份
设计要求
执行环境centos 7 x64
每天某一个时刻自动执行备份操作,执行时间可调整
数据库备份文件保留在特定目录中,目录路径可设置
自动将当前备份版本发送到指定邮件地址,发件邮箱信息和收件邮箱信息可设置
对于每一个数据库备份书数据库备份文件保留七天,超过七天则删除
部署后,源代码不泄露
实现
python如何在centos上实现定时执行
使用Linux定时任务功能Cron即可达到目标。在此之前,请确保服务器时区设置和当前所在时区一致。
// 命令行输入
crontab -e
// 加入这一行即可实现每天凌晨两点执行数据库备份:
0 2 * * * python /path/source.py
crontab命令基本用法
M H D m d 要执行的命令
* M H D 代表: 分钟(0-59) 小时(0-23) 天(1-31)
* m d 代表:月(1-12) 周(0-6)
更多细节参照: https://kvz.io/blog/2007/07/29/schedule-tasks-on-linux-using-crontab/
执行数据库备份操作
运行命令行mysqldump工具即可备份数据库。python自身提供的os包中有system命令可以执行shell命令行。
比如:
import os
os.system("echo HelloWorld"); # 在屏幕上输出HelloWorld,效果如下图。最后多输出一个0,是os.system的返回值,实际运行时不会输出这个0
mysqldump命令参数可以指定保存备份文件的目录,比如
// --password无需交互式输入密码
mysqldump -u root --password=对应的密码 数据库名称 > 导出文件名.sql
=====================================
测试发现gmail不能发送大于25m的附件
解决方案: 切换google drive,所有备份文件直接上传google drive 打赏
微信打赏
支付宝打赏