1. 备份工具我们使用官方mysqldump
mysqldump -uuser -ppassword -hhost -Pport database >database.dmp
目前我的服务器的192.168.10.174
备份数据库 mydbmysqldump -uroot -p'1qaz!QAZ' mydb >mydb.dmp
- 查看下这个mydb.dmp,其实是一个SQL文件。
部分内容如下
2 我们备份的机器假如是192.168.10.42
- 查看下这个mydb.dmp,其实是一个SQL文件。
scp 该文件到目标机器
sshpass -p123456 scp mydb.dmp root@192.168.10.42:/root
如果 ssh或者scp加上 -o StrictHostKeyChecking=no 这个参数,表示系统不再提示要不要保存密钥,这样可以sshpass和scp,ssh命令之间的组合使用不再有交互干预,可以自动化执行。
3. 直接运行导入命令,输入重定向.
sshpass -p123456 ssh root@192.168.10.42 mysql -uroot -p'1qaz!QAZ' <<EOF
drop database mydb;
create database mydb charset utf8;
use mydb;
source /root/mydb.dmp;
EOF
项目
需求说明
- 公司内部服务器上,有3台机器,是一主二从。先做要求每周日早上3点备份所有的数据库
- 备份文件名称为 backup_ip_YYYYMMDD.dmp ,放在 /data/backup
3,数据库如果备份成功,发邮件到 rudolfyan@qq.com,邮件内容包含开始备份时间和结束时间,并给出文件的带下
格式如下
经理你好,
今天从3:01:01秒开始备份,到3:01:23秒结束,
文件名称为 master.192.168.10.42.20230923.dmp,文件大小为 61M; - 删除7周之前的备份文件。
提示
日期使用 date 命令
定时问题
crontab 命令
邮件问题
yum -y install mailx
mailx -s “通知” rudolfyan@qq.com < mailbody
mailbody:是个文件,里面其实是模板,要替换里面的各种变量。内容如下
经理你好,
今天从$starttime秒开始备份,到$endtime秒结束,
文件名称为 $filename,文件大小为 #filesize;
作者:严锋 创建时间:2023-09-20 13:48
最后编辑:严锋 更新时间:2025-05-09 15:48
最后编辑:严锋 更新时间:2025-05-09 15:48