Rsync+Inotify 实时备份

项目:
配置Rsync+inotify 实时备份

简介:
·Rsync:是一个开源的快速备份工具,它可以在不同的主机之间同步整个目录树,并且可以保持连接和权限在传输前执行压缩,因此很适用于异地备份、镜像服务器等应用。主要用于下行同步。
Rsync官网地址是:http://rsync.samba.org

·Inotify:是用来监控文件系统的各种变化,比如:删除、移动、修改、存取等等。利用这一个功能,可以实现文件异动的警告,这样有利于工作人员对对其做出相应的动作。
Inotify机制需要安装inotify-tools。有需要安装包的朋友访问https://pan.baidu.com/s/1fls4l4eM0MAXgXccG5rYTw(百度网盘)密码:n4hd

·Rsync+inotify:这两个相结合,可以实现实时同步,也就是说,只要原来的位置的文档发生变化,就立即同步,否则就保持静默的状态。
它的好处就可以避免了固定周期性备份存在的延迟、周期过密等问题。主要用于上行同步

部署准备:
·VMware虚拟机
·CentOS 7 IP:192.168.100.60 仅主机模式(同步源)
·CentOS 7-1 IP:192.168.100.70 仅主机模式(发起端)
·inotify-tools安装包。https://pan.baidu.com/s/1fls4l4eM0MAXgXccG5rYTw(百度网盘)密码:n4hd
·yum仓库、gcc、gcc-c++

最终目的:
·实现实时同步目录树的所有信息

部署开始:
·在系统安装前都已经安装了rsync,所以我们现在只需要修改其配置文件:
vim /etc/rsyncd.conf //修改rsync主配置文件
Rsync+Inotify 实时备份

·创建账号数据文件:vim /etc/rsyncd_users.db
·因为账号和密码都是明文的,所以为了安全我们需要修改文件权限:chmod 600 /etc/rsyncd_users.db
Rsync+Inotify 实时备份

·关闭防火墙:systemctl stop firewalld.service
setenforce 0
·开启rsync守护进程:rsync --daemon
Rsync+Inotify 实时备份

·现在可以验证rsync下行同步。在发起端:CentOS 7-1 执行命令:rsync -avz [email protected]::wwwroot /bbb
Rsync+Inotify 实时备份

·在实际工作中,每次同步都需要输密码,或者为了后面的实时同步考虑,我们应该写入同步用户的密码,这样就可以免除人机交互。利于之后写脚本:vim /etc/server.pass
Rsync+Inotify 实时备份

·执行命令:rsync -azv --password-file=/etc/server.pass [email protected]::wwwroot /bbb
跳过密码验证,直接同步。

配置rsync+inotify 实时同步:
·在发起端安装inotify-tools。分别执行命令:
1:tar -zxvf inotify-tools-3.14.tar.gz -C /opt/
2:cd /opt/inotify-tools-3.14
3:./configure
4:make && make install

·inotify机制提供了三个调控参数:1、监控时间队列。2、最多监控实列数。3、每个实例最多监控文件数
修改配置文件:vim /etc/sysctl.conf 修改配置文件后执行命令:sysctl -p
Rsync+Inotify 实时备份

·编写触发式同步脚本,可以编写一个脚本:用来检测本机你自己指定的目录的变动情况,一旦有更新触发rsync同步操作,就会上传至你指定的备份服务器下。
vim /opt/inotify.sh 给予脚本执行权限:chmod +x /opt/inotify.sh
Rsync+Inotify 实时备份

·在同步源服务端关闭read only = no
测试:
Rsync+Inotify 实时备份
Rsync+Inotify 实时备份
Rsync+Inotify 实时备份

同步成功;
实验结束。

总结:
·主要配置文件的修改,注意路径。
·注意文件的权限设置
·配置rsync+inotify 实时同步需要修改服务端的read only = no(否则会报错)

猜你喜欢

转载自blog.51cto.com/13746824/2156836