一.Rsync简介
二.Rsync优点与不足
三.Inotify简介
四.Rsync+Inotify组合实验案例
一.Rsync简介
Rsync(remote synhronize)是一个远程数据同步共组,可通过LAN/WAN快速同步多台主机间的文件。Rsync使用所谓的“Rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。
二.Rsync优点与不足
优点:
快速:第一次同步时rsync会复制全部内容,但在下一次只传输修改过的文件。
安全:rsync允许通过ssh协议来加密传输数据。
更少的带宽:rsync在传输数据的过程中可以实行压缩及解压缩操作,因此可以使用更少的带宽。
特权:安装和执行rsync无需特别的权限
缺点:
由于rsync同步数据时,需要扫描所有文件后进行比对,进项差量传输,所以不适宜传输大数据Rsync不能实现实时的去检测文件系统中的添加、删除、修改等操作,无法及时同步数据。
三.Inotify简介
Inotify是一种强大的,细粒度的,异步的文件系统监控机制。Linux内核从2.6.13起,加入了inotify支持,通过inotify可以监控文件系统中添加,删除,修改,移动等各种细微时间,利用这个内核接口,第三方软件就可以监控文件系统下文件的各种变化情况,而inotify-tool就是这样的一个第三方软件。
四.Rsync+Inotify组合实验案例
系统、软件说明:
Centos6.4x86_64;rsync;inotify-tools-3.14.tar.gz
Backup服务器安装配置:
1.安装Rsync服务器
[root@localhost ~]# rpm -qa | grep rsync
[root@localhost ~]# yum -y install rsync
创建rsync的配置文件
[root@localhost ~]# vim /etc/rsyncd.conf
注释:
第1-2行:指定备份的用户和组,root为任何用户
第3行: 此处传输文件时无需chroot到path参数所指定的目录下
第4行: 最大连接数
第5行: 覆盖客户指定的IP超时时间,也就是说rsync服务器不会永远等待一个崩溃的客户端。
第6-8行:指定pid,lock,log的文件
第9行: 指定认证模块名称,注意此模块是对外公布的模块
第10行: 指定备份的路径
第11行: 可以忽略一些无关的IO错误
第12行: 允许可读可写
第13行: 不允许列清单
第14行: 只允许19.168.0.0网段进行同步,拒绝其它IP
第15行: 认证的用户名
第16行: 指定密码文件的存放路径
创建备份目录并设置目录的权限并启动rsync服务
设置开机启动:
[root@localhost ~]# echo "/usr/bin/rsync--daemon" >> /etc/rc.local
在数据服务器192.168.20.160安装:
创建认证文件并设置权限:
[root@master ~]# echo "123456789" >/etc/web.passwd && chmod 600 /etc/web.passwd
服务器进行服务测试:
[root@master ~]# yum -y install rsync
此时rsync已经配置成功,但是不能监控文件的变化此时就需要安装inotify。
由于inotify特性需要linux内核版本的支持,在安装inotify-tools前要确认linux系统内核是否达到了2.6.13以上,如果没有,就要重新编译内核。
判断内核是否支持inotify:
检查系统是否支持inotify
如果有以上3个文件说明系统默认是支持inotify功能的
安装inotify-tools工具
[root@master inotify-tools-3.14]# ./configure--prefix=/usr/local/inotify
[root@master inotify-tools-3.14]# make && makeinstall
配置脚本并设置权限
测试:
检查结果:
设置开机启动:
echo "/etc/rsync.sh &">> /etc/rc.local
在另外一台主机上做上面同样的操作:
注意修改脚本中的:
des=history161
首次启动:
rsync
--daemon --config=/etc/rsyncd.conf