在同步服务器上开启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. [test]
  10. path = /home/
  11. comment = test
  12. read only = no
  13. write only = no
  14. ignore errors = yes
  15. list = yes
  16. uid = root
  17. 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

其他功能待研究中

sersync2 实时同步配置的更多相关文章

  1. Rsync结合Inotify 实时同步配置(更新之前繁琐的传输认证)

    今天一位CU的友友根据之前介绍过 通过rsync+inotify-tools+ssh实现触发式远程实时同步  配置分发系统,但是由于认证繁琐,很容易出错,我今天重新整理了下,用rsync密码文件pas ...

  2. centos6.6配置rsync+sersync实现实时同步分布式多客户端分发同步

    1.sersync项目: sersync项目利用inotify与rsync技术实现对服务器数据实时同步到解决方案,其中inotify用于监控sersync所在服务器上文件系统的事件变化,rsync是目 ...

  3. Sersync实时同步企业应用配置实战

    一.实验环境 CentOS版本: 6.6(2.6.32.-504.el6.x86_64) Rsync版本:  Rsync-3.0.6(系统自带) Sersync版本:sersync2.5.4_64bi ...

  4. 数据文件实时同步(rsync + sersync2)

    因近期项目需求,需要同步云端服务器的数据给**方做大数据分析. 思路: 起初只要数据同步,准备开放数据采集接口.但实时性较差,会有延迟. 故而寻觅各种解决方案,最终确定使用 rsync 进行文件同步, ...

  5. sersync2 文件的实时同步备份

    |——需求: 监控192.168.9.5[主]  下的 /data/vmeipai 目录  --> 同步到 192.168.12.8 [备] 下的 /data/vmeipai 目录 |——网络拓 ...

  6. Linux 下配置多机实时同步

    没钱的时候,用此方案做网站内容的负载均衡.异地备份,经济实惠又方便(仅针对网站文件做实时同步,如果数据库,则考虑mysql的多主架构) 一.机器配置及机房IP A机,位于杭州,IP: 115.33.2 ...

  7. 配置rsync+inotify实时同步

    与上一篇同步做 配置rsync+inotify实时同步 1:调整inotify内核参数 在linux内核中,默认的inotify机制提供三个调控参数:max_queue_events.max_user ...

  8. rsync简介与rsync+inotify配置实时同步数据

    rsync简介 rsync是linux系统下的数据镜像备份工具.使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH.rsync主机同步. rsync特性 rsync ...

  9. Centos 6.5配置rsync+inotify实现文件实时同步

    1.安装rsync(两台机器执行相同的步骤)yum install gcc yum install rsyncd xinetd -y因为rsync是由xinetd启动的,所以需要修改一个配置vim / ...

随机推荐

  1. 2013年9月份第1周51Aspx源码发布详情

    大型B2B家具门户网源码  2013-9-6 [VS2008]功能描述: 1.门户信息管理 安全取数据即使数据库连接中断不会报错 2.稳定性 每句代码经过3次以上检查.此网站还在运营3年了,没有出过问 ...

  2. hadoop 中对Vlong 和 Vint的压缩方法

    hadoop 中对java的基本类型进行了writeable的封装,并且所有这些writeable都是继承自WritableComparable的,都是可比较的:并且,它们都有对应的get() 和 s ...

  3. 国产单机RPG游戏的情怀

    最近在玩儿仙剑奇侠传5,这个游戏从小时候玩儿到现在,也算是见证了一代人的成长,小时候没少玩盗版,现在自己工作了,有了固定的收入,也能体会到游戏开发者的不容易,尤其是单机游戏这个圈子,现在国内几乎没有人 ...

  4. 文本编辑器vim

    Vim是一个功能强大的全屏幕文本编辑器,是Linux/UNIX上最大的文本编辑器,它的作用是建立.编辑.显示文本文件. Vim没有菜单,只有命令.

  5. APNS IOS PHP 苹果推送

    IOS---APNS 消息推送实践 首先,需要一个pem的证书,该证书需要与开发时签名用的一致. 具体生成pem证书方法如下: 1. 登录到 iPhone Developer Connection P ...

  6. mysql联合索引详解

    联合索引又叫复合索引.对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索 引中的一部份,但只能是最左侧部分.例如索引是key index (a,b,c). 可以支持a | a,b ...

  7. .NET 代码编译过程

    作为一种代码指令平台,Microsoft .NET比微软公司先前推出的其他技术平台要来得更为复杂.由于.NET提供了对多种编程语言以及(在理论上说)多重平台的支持,这就需要在传统的两个代 码层添加一个 ...

  8. LeetCode Sum Root to Leaf Numbers(DFS)

    题意: 给一棵二叉树,每个节点上有一个数字,范围是0-9,将从根到叶子的所有数字作为一个串,求所有串的和. 思路: 普通常规的DFS. /** * Definition for a binary tr ...

  9. LabVIEW串口通信的一个例子-串口"示波器"

    1.程序界面:<ignore_js_op> 功能介绍:左边上方串口接收区,下方为串口字符发送区.右方为一个波形图表,在程序内部每次将串口发送过来的数据,以f%格式化,显示在波形图表上.按钮 ...

  10. python 的一些小技巧

    赋值: a, b, c = 'xixi', 'haha', 'hehe' 连接字典: >>> s = {1:'a', 2:'b', 3:'c'} >>> s.key ...