sersync:用来实时监控我们的某一个目录。
为什么要用rsync+sersync架构
1、sersync是基于inotify开发的,类似于inotify-tools的工具
2、sersync可以记录下被监听目录中发生变化的(包括增加、删除、修改)具体某一个文件或者某一个目录的名字
然后使用rsync同步的时候,只同步发生变化的文件或者目录
rsync+inotify-tools与rsync+sersync架构的区别
1、rsync+inotify-tools
a、inotify只能记录下被监听的目录发生了变化(增,删,改)并没有把具体是哪个文件或者哪个目录发生了变化记录下来;
b、rsync在同步的时候,并不知道具体是哪个文件或目录发生了变化,每次都是对整个目录进行同步,当数据量很大时,整个目录同步非常耗时(rsync要对整个目录遍历查找对比文件),因此效率很低
2、rsync+sersync
a、sersync可以记录被监听目录中发生变化的(增,删,改)具体某个文件或目录的名字;
b、rsync在同步时,只同步发生变化的文件或目录(每次发生变化的数据相对整个同步目录数据来说很小,rsync在遍历查找对比文件时,速度很快),因此效率很高。
同步过程和原理:
用户实时的往sersync服务器上写入更新文件数据;
此时需要在同步主服务器上配置sersync服务;
在另一台服务器开启rsync守护进程服务,以同步拉取来自sersync服务器上的数据;
通过rsync的守护进程服务后可以发现,实际上sersync就是监控本地的数据写入或更新事件;
然后,在调用rsync客户端的命令,将写入或更新事件对应的文件通过rsync推送到目标服务器
rsync+sersync的配置
在192.168.1.63上配置serync,然后再192.168.1.64上动态备份改变的数据
服务器:
1#安装sersync,并解压到某个文件夹,
[root@break ~]# tar -zxvf sersync2.5.4_64bit_binary_stable_final.tar.gz -C /usr/local/
GNU-Linux-x86/
GNU-Linux-x86/sersync2
GNU-Linux-x86/confxml.xml
[root@break ~]# cd /usr/local/
[root@break local]# ll
总用量 4
drwxr-xr-x. 3 root root 27 3月 22 17:29 bin
drwxr-x---. 6 500 500 248 3月 22 17:04 DenyHosts-2.6
drwxr-xr-x. 2 root root 6 4月 11 2018 etc
drwxrwxr-x. 11 root root 4096 3月 22 15:44 fail2ban-0.8.14
drwxr-xr-x. 2 root root 6 4月 11 2018 games
drwxr-xr-x. 2 root root 41 10月 26 2011 GNU-Linux-x86
drwxr-xr-x. 2 root root 6 4月 11 2018 include
drwxr-xr-x. 2 root root 6 4月 11 2018 lib
drwxr-xr-x. 2 root root 6 4月 11 2018 lib64
drwxr-xr-x. 2 root root 6 4月 11 2018 libexec
drwxr-xr-x. 2 root root 6 4月 11 2018 sbin
drwxr-xr-x. 5 root root 49 11月 14 06:36 share
drwxr-xr-x. 2 root root 6 4月 11 2018 src
[root@break local]# mv GNU-Linux-x86 sersync
#2修改配置文件
24 <localpath watch="/var/www/html">
25 <remote ip="192.168.1.64" name="wwwroot"/>
31 <auth start="true" users="rget" passwordfile="/root/passwd"/>
#3启动
[root@break sersync]# ./sersync2 -d -r -o ./confxml.xml
auth=yes是错误的,注意
启动服务
客户端中/etc/rsyncd.conf中写的文件会进行备份192.168.1.63有变化的内容到指定的目录,我的是rsync。
由下图可以知道,当我们的在服务器上每次删除一个/var/www/html/中的文件,我们在客户端的rsync中就会少这些相对应的文件。
服务器:
客户端: