生产环境备份mysql数据,并把备份数据同步到备用服务器。
1.编写mysql备份数据脚本文件,该文件为数据库的全量备份。
touch /data/backup/script/mysql_backup.sh
#!/bin/sh
MYSQL_IP=xxx.xxx.xxx.xxx
MYSQL_PORT=3306
BACKUP_USER=xxxx
BACKUP_PASSWORD=xxxxxxxxx
mysqldump -h$MYSQL_IP -P$MYSQL_PORT -u$BACKUP_USER –single-transaction –ignore-table=mysql.event -p$BACKUP_PASSWORD –all-databases |gzip > /data/backup/archive/mysql`date +%F`.sql.gz
设置定时任务:每天晚上00.00.01分执行数据库数据全量备份 1 0 * * * /data/backup/script/mysql_backup.sh
2.定时清理数据库数据备份
touch /data/backup/script/mysql_bk_clean.sh
#!/bin/sh
day=3
for f in `find /data/backup/archive -mtime +$day -type f`
do
rm -rf $f
done
设置定时任务:每天晚上凌晨1点清理3天前备份的mysql数据 0 1 * * * /data/backup/script/mysql_bk_clean.sh
3.数据库数据同步备用服务器
1、在 服务器中安装 rsync 执行命令如下:
yum -y install rsync
2、用密钥实现免密登录
由于需要使用命令行传输文件,不方便输入密码,所以在服务器 A 中配置 ssh 免密登录,配置成功后,服务器 A 登录服务器 B 时就不需要输入密码就可以登录了。
(1)生成公钥
在服务器 A 中输入命令:
ssh-keygen
该命令会生成一个公钥,执行命令后,在 ~/.ssh/ 会出现两个新文件:
生成公钥
(2)将公钥传输到服务器 B 中
在服务器 A 中输入命令:
ssh-copy-id root@B服务器ip
或者
ssh-copy-id -i ~/.ssh/id_rsa.pub root@B服务器ip
免登录认证成功后,需把/data/backup/archive/下的数据库备份文件同步到备用服务器。
rsync -arv –delete /data/backup/archive/ root@10.37.25.181:/home/liu_hongjie/
如果出现错误,俩台服务器都需执行yum -y install rsync