Rsync给Mysql数据库远程定时备份

rsync.png

之前尝试Rsync+inotify-tools实时同步数据库,但是inotify-tools无法监听到数据库文件的变化。

所以现在改用mysqldump + rsync + cron定时任务来完成备份。

实验环境:centos7.7
软件版本:rsync version 3.1.2

1.先进行源服务器与备份服务器免密登录

源服务器:生成密钥

ssh-keygen -t rsa

一路回车 会在root目录下自动创建.ssh目录并生成密钥文件

ll /root/.ssh/
-rw------- 1 root root 1675 11月 23 15:30 id_rsa       #密钥文件
-rw-r--r-- 1 root root  408 11月 23 15:30 id_rsa.pub   #公钥文件
-rw-r--r-- 1 root root  176 11月 23 15:32 known_hosts  #执行ssh-copy-id 后生成的文件

把公钥上传复制到备份服务器上

ssh-copy-id root@192.168.1.11

该命令会把id_rsa.pub文件的内容 上传到目标服务器.ssh目录下并生成一个authorized_keys文件

登录测试

ssh root@192.168.1.11

设置好了之后源服务器要连接备份服务器就不用密码了。

2.安装Rsync

源服务器与备份服务器安装rsync

yum -y install rsync

启动并设置开启自启动查看状态

systemctl enable rsyncd
systemctl start rsyncd
systemctl status rsyncd

查看端口 Rsync的端口为 873

netstat -antp | grep 873
tcp        0      0 0.0.0.0:873             0.0.0.0:*               LISTEN      585/rsync
tcp6       0      0 :::873                  :::*                    LISTEN      585/rsync

查看进程

ps aux | grep rsync
root       585  0.0  0.1 114756  1132 ?        Ss   Nov24   0:00 /usr/bin/rsync --daemon --no-detach
root     21821  0.0  0.2 112820  2264 pts/0    S+   10:59   0:00 grep --color=auto rsync

3.设置mysqldump免密备份

/etc/my.cnf
...
[mysqldump]                #添加该模块填写用户和密码
user=root
password=123456

设置好了之后使用mysqldump命令生成备份文件直接 -u user,不用加 -p 了

4.设置cron定时任务

确认开启了crond 默认开启

systemctl status crond

编辑cron配置文件

vim /etc/crontab         #全部生效

或者使用命令

crontab -e                #使用该命令的用户生效

添加先设置每分钟执行一次进行测试,命令最好使用绝对路径
先创建/data目录 可自定义

*  *  *  *  * root /usr/bin/mysqldump -uroot data > /data/data.sql ; /usr/bin/rsync -avz /data/data.sql root@192.168.11.1:/data

该任务触发会把data数据库备份成data.sql并保存在 /data/
然后通过rsync发送给备份服务器

5.测试

设置好定时任务后进入备份服务器,进入相应目录查看是否出现相应文件 data.sql

出现文件后过一分钟使用 md5sum 命令查看文件MD5值是否发生变化。

查看源服务器与备份服务器文件MD5值是否相同。

md5sum data.sql

后可根据自己需求调整定时任务时间

可使用crontab执行时间计算在线工具:网址 https://tool.lu/crontab/

# mysql  rsync 

本文由:星际难民
实践,测试,整理发布.如需转载请注明地址 本文标题:Rsync给Mysql数据库远程定时备份
地址:https://530503.xyz/articles/2020/11/25/1606285644066.html

评论

取消