zoukankan      html  css  js  c++  java
  • sersync2 实时同步配置

    在同步服务器上开启sersync,将监控路径中的文件同步到目标服务器,因此需要在同步服务器配置sersync,在同步目标服务器配置rsync。

    一、同步目标服务器配置rsync

    1. # rpm -qa |grep rsync 
    2. rsync-2.6.8-3.1 
    3. # rpm -e rsync-2.6.8-3.1

    unistall系统自带安装的rsync,安装3.0版的rsync

    1. # wget -c http://rsync.samba.org/ftp/rsync/rsync-3.0.8.tar.gz 
    2. # tar xf rsync-3.0.8.tar.gz
    3. # ./configure --prefix=/usr && make && make install
    4. # vi /etc/rsyncd.conf

    添加下面的代码到rsyncd.conf中

    1. uid = nobody 
    2. gid = nobody 
    3. use chroot = no 
    4. strict modes = yes 
    5. max connections = 200 
    6. pid file = /var/run/rsyncd.pid 
    7. lock file = /var/run/rsync.lock 
    8. log file = /var/log/rsyncd.log 
    9.  
    10. [test] 
    11. path = /home/
    12. comment = test 
    13. read only = no 
    14. write only = no 
    15. ignore errors = yes 
    16. list = yes 
    17. uid = root 
    18. gid = root 

    启动rsync服务

    1. # rsync --daemon 

    二、配置sersync2

    sersync2是金山逍遥网技术支持部平台组周洋童鞋,开发的一款基于 inotify + rsync 的大量文件的多服务器自动同步程序,目前已开源,开源协议为 New BSD License,项目的下载地址:

    1. http://code.google.com/p/sersync/ 

    这个配置超简单的,下载文件,解压即可

    1. # wget -c http://sersync.googlecode.com/files/sersync2.5_64bit_binary_stable_final.tar.gz 
    2. # tar xf sersync2.5_64bit_binary_stable_final.tar.gz 
    3. # cd GNU-Linux-x86 
    4. # mkdir /etc/sersync2 
    5. # cp confxml.xml /etc/sersync2 
    6. # cp sersync2 /usr/bin 

    配置sersync2

    1. <sersync
    2.         <localpath watch="/data/bb"
    3.             <remote ip="192.168.1.4" name="test"/> 
    4.             <remote ip="192.168.1.6" name="test"/> 
    5.             <!--<remote ip="192.168.8.40" name="tongbu"/>--> 
    6.         </localpath
    7.         <rsync
    8.             <commonParams params="-artuz"/> 
    9.             <auth start="false" users="root" passwordfile="/etc/rsync.pas"/> 
    10.             <userDefinedPort start="false" port="874"/><!-- port=874 --> 
    11.             <timeout start="false" time="100"/><!-- timeout=100 --> 
    12.             <ssh start="false"/> 
    13.         </rsync
    14.         <failLog path="/var/log/rsync_fail.log" timeToExecute="60"/><!--default every 60mins execute once--> 
    15.         <crontab start="false" schedule="600"><!--600mins--> 
    16.             <crontabfilter start="false"
    17.                 <exclude expression="*.php"></exclude
    18.                 <exclude expression="info/*"></exclude
    19.             </crontabfilter
    20.         </crontab
    21.         <plugin start="false" name="command"/> 
    22.     </sersync

    表明要将同步服务器上本地的/data/bb 路径下的文件,同步到远程服务器 192.168.1.4 与 192.168.1.6上的test 模块下

    接下来,运行sersync2 

    #  sersync2 -r -o /etc/sersync2/confxml.xml
    

    -r的意义

    1. -r 在开启实时监控之前对同步服务器目录与远程目标机目录进行一次整体同步 

    运行完了输出

    1. set the system param 
    2. execute:echo 50000000 > /proc/sys/fs/inotify/max_user_watches 
    3. execute:echo 327679 > /proc/sys/fs/inotify/max_queued_events 
    4. parse the command param 
    5. option: -r      rsync all the local files to the remote servers before the sersync work 
    6. option: -d      run as a daemon 
    7. option: -o      config xml name:  /etc/sersync2/confxml.xml 
    8. daemon thread num: 10 
    9. parse xml config file 
    10. host ip : localhost     host port: 8008 
    11. daemon start,sersync run behind the console 
    12. config xml parse success 
    13. please set /etc/rsyncd.conf max connections=0 Manually 
    14. sersync working thread 112  = 1(primary thread) + 1(fail retry thread) + 10(daemon sub threads) 
    15. Max threads numbers is: 32 = 12(Thread pool nums) + 20(Sub threads) 
    16. please according your cpu ,use -n param to adjust the cpu rate 
    17. ------------------------------------------ 
    18. rsync the directory recursivly to the remote servers once 
    19. working please wait... 
    20. execute command: cd /data/bb && rsync -artuz -R --delete ./ 192.168.1.4::test >/dev/null 2>&1 
    21. run the sersync: 
    22. watch path is: /data/bb 

    sersync2的参数

    1. sersync2 -h 
    2. set the system param 
    3. execute:echo 50000000 > /proc/sys/fs/inotify/max_user_watches 
    4. execute:echo 327679 > /proc/sys/fs/inotify/max_queued_events 
    5. parse the command param 
    6. _______________________________________________________ 
    7. 参数-d:启用守护进程模式 
    8. 参数-r:在监控前,将监控目录与远程主机用rsync命令推送一遍 
    9. c参数-n: 指定开启守护线程的数量,默认为10个 
    10. 参数-o:指定配置文件,默认使用confxml.xml文件 
    11. 参数-m:单独启用其他模块,使用 -m refreshCDN 开启刷新CDN模块 
    12. 参数-m:单独启用其他模块,使用 -m socket 开启socket模块 
    13. 参数-m:单独启用其他模块,使用 -m http 开启http模块 
    14. 不加-m参数,则默认执行同步程序 
    15. ________________________________________________________________ 

    索性一次性运行

    1. #  sersync2 -r -d -o /etc/sersync2/confxml.xml

    其他功能待研究中

  • 相关阅读:
    php l练习(写着玩)
    位、字节、字
    ueditor上传图片时目录创建失败的问题解决方法
    tp5插入百度富文本编辑器UEditor
    PHP实现用户异地登录提醒功能的方法
    tp5知识点
    TP5语法
    微擎url
    微擎多图片上传
    微擎函数Iserializer和Iunserializer序列化函数
  • 原文地址:https://www.cnblogs.com/cnsanshao/p/4103552.html
Copyright © 2011-2022 走看看