rsync+inotify同步备份MYSQL数据

rsync具有安全性高、备份迅速、支持增量备份等优点,通过rsync可以解决对实时性要求不高的数据备份需求,但是rsync不能实时的去监测、同步数据inotify 是一种强大的、细粒度的、异步的文件系统事件监控机制,通过inotify可以监控文件系统中添加、删除,修改、移动等各种细微事件

实验环境:备份端192.168.1.123(rsync server)

           备份源192.168.124(rsync client inotify mysql)

实验原理:利用inotify监控mysql数据库数据目录:/usr/local/mysql/data

,然后利用rsync将改变的数据同步到备份端的/var/mysqldata

一.备份端服务的配置

1)确认rsync是否安装,大多数linux发行版默认安装rsync

wKioL1ZLRrqT4gewAAAKUUdYr1U309.png

2)手动创建rsync的配置文件

wKiom1ZLRmiwShN1AAAGeKlKZUM480.png

rsync+inotify同步备份MYSQL数据_第1张图片

3)建立rsync用户名和密码文件,并为/etc/rsync.password授权为600

wKiom1ZLR5-CL7vHAAAR2qoW9tY703.png

4)启动rsync服务

rsync+inotify同步备份MYSQL数据_第2张图片

至此备份端服务配置完成

二.备份源配置

1)设置rsync客户端密码文件,将密码文件的权限设置成600

客户端只需要设置rsync同步密码即可,不用重设用户名

wKioL1ZLR_GSXTedAAAPQ7wtqsE214.png

2)安装inotify

wKiom1ZLR6DxA51mAAAPiS5sSLY211.png

3)编写运行监控脚本。为了保证/usr/local/mysql/data目录自动同步,安装完成inotify后,写一个inotify脚本。

wKioL1ZLR_Kw6_xcAAAFhn28r8I542.png

rsync+inotify同步备份MYSQL数据_第3张图片

三.测试效果

1)运行编写的inotify.sh脚本

wKiom1ZLRmqA6k92AAAE9y-80aA330.png

同时在mysql插入数据

rsync+inotify同步备份MYSQL数据_第4张图片

rsync+inotify同步备份MYSQL数据_第5张图片

可以看到脚本已经生效

rsync+inotify同步备份MYSQL数据_第6张图片

2)查看备份端的/var/mysqldata,可以看到同步的数据

rsync+inotify同步备份MYSQL数据_第7张图片