项目: 配置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主配置文件

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

·关闭防火墙:systemctl stop firewalld.service setenforce 0 ·开启rsync守护进程:rsync --daemon

·现在可以验证rsync下行同步。在发起端:CentOS 7-1 执行命令:rsync -avz yihong@192.168.100.60::wwwroot /bbb

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

·执行命令:rsync -azv --password-file=/etc/server.pass yihong@192.168.100.60::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同步操作,就会上传至你指定的备份服务器下。 vim /opt/inotify.sh 给予脚本执行权限:chmod +x /opt/inotify.sh

·在同步源服务端关闭read only = no 测试:

同步成功; 实验结束。

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