1.前置准备
- 安装python:https://www.linuxidc.com/Linux/2018-07/153286.htm
- 安装sshpass:https://blog.csdn.net/qq_30553235/article/details/78711491
在使用scp命令时候,可以携带密码
2.准备数据库备份的python脚本
import os
#执行mysqldump命令,数据库备份文件暂时存放的位置
if not os.path.exists('/mysqldb_backup'):
os.mkdir('/mysqldb_backup')
os.chdir('/mysqldb_backup')
#执行mysqldump命令 账号、密码、ip、端口、数据库名 需要根据自己情况调整
response_code = os.system("mysqldump -u root -p123456 -h 127.0.0.1 test > /mysqldb_backup/mysql`date +%Y-%m-%d_%H:%M:%S`.sql")
#将dump出来的备份文件拷贝到远程服务器备份存放
response_code2 = os.system("sshpass -p {保存数据服务器密码} scp -r /mysqldb_backup/ {保存数据服务器账号}@{目标服务器IP}:{存放的目录}")
#如果scp成功,删除掉本机的临时存放目录
if response_code2==0:
os.system("rm -rf /mysqldb_backup")
3.编写linux的定时任务
1.配置一个定时任务
crontab -e
进入编辑linux定时任务(记得wq保存退出
)
例如我写的这个测试定时任务,执行上面的python脚本。每五分钟执行一次备份操作
*/5 * * * * python /app/demo.py
也可以参考这篇文章编写:https://www.runoob.com/w3cnote/linux-crontab-tasks.html
2.查看下定时任务状态
service crond satus
3.查看下定时任务列表有没有刚才配置的这个定时任务
crontab -l