zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    Debian Linux 5 时间设定相关与时间同步
    javascript的基本类型
    判断浏览器的类型
    用C#打开IE
    MAC ADDRESS LOOKUP
    HP大中华区总裁辞职信
    原始的JavaScript创建
    .NET应用程序域
    显示接口实现与隐式接口实现
    [转载]MVC Razor 语法(转)
  • 原文地址:https://www.cnblogs.com/elin989898/p/12008961.html
Copyright © 2011-2022 走看看