【需求】每日0点,自动备份A服务器上MySQL的某数据库数据,并将备份文件备份至B服务器上。
【思路】编写备份脚本→配置定时任务
【实现步骤】
-
在A服务器上编写备份脚本
#!/bin/bash #设置mysql的备份保存目录 folder=/home/backup/database cd $folder day=$(date +%Y%m%d) #创建名称为当前日期的文件夹 mkdir -p "$day" cd $day #数据库服务器ip host=A服务器IP #用户名 user=root #密码 password=root密码 #要备份的数据库名 db=backupdb #执行备份语句,备份文件名称为backupdb.sql mysqldump -h$host -u$user -p$password $db > ./backupdb.sql #备份数据至B服务器,名称为backupdb+当日日期.sql scp backupdb.sql B服务器用户名@B服务器IP:/opt/data/platform-data/backupdb$day.sql
- 执行脚本,输入B服务器密码(scp时需要),可执行成功,实现数据备份并将文件拷贝至B服务器。
但是如果想要定时执行,那么就没办法每次输入密码,所以需要配置下设置scp自动输入密码,参见:https://jingyan.baidu.