rsync+inotify+tools与rsync+sersync架构的区别

rsync+inotify+tools与rsync+sersync架构的区别
1、rsync+inotify-tools
inotify只记录下被监听的目录发生了变化(增,删,改)并没有把具体是哪个文件或者哪个目录发生了变化记录下来;
rsync在同步的时候,并不知道具体是那个文件或目录发生了变化,每次都是对整个目录树进行遍历查找变更文件,然触发全部数据进行同步,当数据量很大时,整个目录同步非常耗时,因此效率很低
2、rsync+sersync
sersync可以记录被监听目录中发生的变化(增,删,改)具体某个文件或目录的名字;
rsync在同步是,只同步发生变化的文件或目录(每次发生变化的数据相对于整个同步目录数据来说很小,rsync在遍历查找对比文件时,速度很快),因此效率很高
同步过程:
1、在源数据服务器上开启sersync服务,sersync负责监控配置路径中的文件系统事件变化;
2、调用rsync命令把更新的文件同步到目标服务器;
3、需要在源数据服务器配置sersync,在同步目标服务器配置rsync server
同步原理:
1、用户实时的往sersync服务器上写入更新文件数据;
2、此时需要在源数据服务器上配置sersync服务;
3、在另一台服务器开启rsync守护进程服务,以同步拉取来自sersync服务器上的数据;通过rsync的守护进程服务后可以发现,实际上sersync就是监控本地的数据系入如或更新事件;然后,在调用rsync客户端的命令,将写入或更新时间对应用的文件通过rsync推送到目标服务器
实验环境
192.168.200.112 (Sersync server)
192.168.200.111 (Rsync  server)
服务端操作
yum -y install httpd rsync #安装Rsync和httpd【httpd需要共享目录】
vim /etc/rsyncd.conf
在配置文件内添加以下内容
uid = nobody      (用户名)
gid = nobody      (组名)
use chroot = yes     (禁锢在源码目录)
max connections = 100   (最大连接数)
timeout = 600      (超时时间)
ignore errors      (忽略错误)
list = false      (不现实服务端资源列表)
address = 192.168.200.111   (监听地址)
port = 873      (监听端口)
log file = /var/log/rsyncd.log  (日志文件位置)
pid file = /var/run/rsyncd.pid  (PID文件位置)
hosts allow = 192.168.200.0/24  (允许访问地址)
[wwwroot]      (共享名,给访问者看的,本地目录可以不是这个名字)
        path = /var/www/html   (文件真实路径)
        comment = Document Root os www.laowang.com  (描述信息,可以随便写)
        read only = no        允许写
        dont compress = *.gz *.bz2 *.tgz *.zip *.rar *.z   (这些结尾的文件不压缩)
        auth users = backuper        (授权备份用户名,和系统用户没有关联)
        secrets file = /etc/rsyncd_users.db     (保存auth users用户名和对应迷密码)
chown -R nobody:nobody /var/www/html/
vim /etc/rsyncd_users.db (编辑baukuper密码位置)
backuper:123456
chmod 600 /etc/rsyncd_users.db
启动服务
rsync --daemon
netstat -lnpt | grep :873
客户端操作
echo "123456" > /etc/server.pass
chmod 600 /etc/server.pass
rsync -avz --delete --password-file=/etc/server.pass /var/www/html/ backuper@192.168.200.111::wwwroot (测试上传操作)
部署Sersync服务在客户端上
上传文件(在Linux soft)
tar -xf sersync2.5.4_64bit_binary_stable_final.tar.gz -C /usr/local/
cd /usr/local/
mv GNU-Linux-x86/ sersync
cd sersync/
cp confxml.xml confxml.xml.bak
vim confxml.xml   (修改配置文件)
修改24行
   <sersync>
        <localpath watch="/var/www/html">     (本地目录)
            <remote ip="192.168.200.111" name="wwwroot"/> (远程IP和共享目录)
修改31行
        <rsync>
            <commonParams params="-artuz"/>    
            <auth start="true" users="backuper" passwordfile="/etc/server.pass"/> (授权账户和密码文件存放位置)
开启srsync守护进程 同步数据
/usr/local/sersync/sersync2 -d -r -o /usr/local/sersync/confxml.xml
posted @ 2019-12-09 08:38  elin菻  阅读(962)  评论(0编辑  收藏  举报