rsync+inotify的缺点/不足

1.Inotify-tools只能记录下被监听的目录发生了变化(增删改等),并没有把具体是哪个文件或者哪个目录发生了变化记录下来

2.rsync在同步的时候,并不知道具体是哪个文件或者哪个目录发生了变化,每次都是对整个目录进行同步,当数据量很大时,整个目录同步非常耗时(rsync要对整个目录遍历查找对比文件),效率很低。

rsync+sersync解决了这些不足:

1.sersync可以记录下被监听目录中发生变化的(增删改等)具体某一个文件或某一个目录的名字

2.rsync在同步的时候,只同步发生变化的这个文件或者这个目录(每次发生变化的数据相对整个同步目录数据来说是很小的,rsync在遍历查找比对文件时,速度很快),效率高。

架构图

image.png

部署rsync+sersync

1.在136机器上部署rsync,请参考

2.在140机器上部署rsync和sersync

[root@Management-Machine-140 backup]# wget http://down.whsir.com/downloads/sersync2.5.4_64bit_binary_stable_final.tar.gz [root@Management-Machine-140 backup]# tar -zxvf sersync2.5.4_64bit_binary_stable_final.tar.gz -C /usr/local/src[root@Management-Machine-140 backup]# mv sersync /usr/local/sersync[root@Management-Machine-140 backup]# vim confxml.xml
    
    
    
    
                                #过滤器        
        
        
        
        
                                            #监控时间        
        
        
        
        
        
        
        
    
    
                                            #监控的目录和同步到哪个ip和块        
            
            
            
                
                                        #rsync使用的参数            
            
    #是否进行验证            
              #使用的端口            
                  #超时设置            
                                                     #是否启用ssh        
        
        
                            #crontab            
                
                
                            
    
    
        
  
        
            
            
                
                                #socket        
            
                
        
            
            
            
            

查看帮助和进行监控

[root@Management-Machine-140 backup]# sersync -hset the system paramexecute:echo 50000000 > /proc/sys/fs/inotify/max_user_watchesexecute:echo 327679 > /proc/sys/fs/inotify/max_queued_eventsparse the command param_______________________________________________________参数-d:启用守护进程模式参数-r:在监控前,将监控目录与远程主机用rsync命令推送一遍c参数-n: 指定开启守护线程的数量,默认为10个参数-o:指定配置文件,默认使用confxml.xml文件参数-m:单独启用其他模块,使用 -m refreshCDN 开启刷新CDN模块参数-m:单独启用其他模块,使用 -m socket 开启socket模块参数-m:单独启用其他模块,使用 -m http 开启http模块不加-m参数,则默认执行同步程序________________________________________________________________[root@Management-Machine-140 backup]# sersync -d -r -o /usr/local/sersync/confxml.xml &

测试:

[root@Management-Machine-140 backup]# touch test.log

在136上查看是否有test.log

[root@WebA-136 sersync]# lstest.log