sersync

sersync主要用于服务器同步,web镜像等功能。sersync是使用c++编写,在结合rsync同步的时候,节省了运行时耗和网络资源。因此更快。sersync配置起来很简单。另外本项目相比较其他脚本开源项目,使用多线程进行同步,尤其在同步较大文件时,能够保证多个服务器实时保持同步状态,同步及时快速。

 
 
  1. 安装环境

  2. 192.168.1.124  sersync服务器

  3. 192.168.1.127  客户端

  4. centos6 64bit

  5. 192.168.1.124 sersync服务器执行以下操作

  6. 下载地址http://code.google.com/p/sersync/downloads/list

  7. tar zxvf sersync2.5.4_64bit_binary_stable_final.tar.gz  -C /usr/bin  

  8. [root@localhost ~]# cd /usr/bin/GNU-Linux-x86/

  9. [root@localhost GNU-Linux-x86]# ls

  10. confxml.xml  sersync2

  11. vim confxml.xml

  12. <?xmlversion="1.0"encoding="ISO-8859-1"?>

  13. <headversion="2.5">

  14. <hosthostip="localhost"port="8008"></host>

  15. <debugstart="false"/>

  16. <fileSystemxfs="false"/>

  17. <filterstart="false">

  18. <excludeexpression="(.*)\.svn"></exclude>

  19. <excludeexpression="(.*)\.gz"></exclude>

  20. <excludeexpression="^info/*"></exclude>

  21. <excludeexpression="^static/*"></exclude>

  22. </filter>

  23. <inotify>

  24. <deletestart="true"/>

  25. <createFolderstart="true"/>

  26. <createFilestart="false"/>

  27. <closeWritestart="true"/>

  28. <moveFromstart="true"/>

  29. <moveTostart="true"/>

  30. <attribstart="false"/>

  31. <modifystart="false"/>

  32. </inotify>

  33. #############################add 20120309###############################

  34. 对于大多数应用,可以尝试把createFile(监控文件事件选项)设置为false来提高性能,减少  rsync通讯。因为拷贝文件到监控目录会产生create事件与close_write事件,所以如果关闭create事件,只监控文件拷贝结束时的事  件close_write,同样可以实现文件完整同步。
    注意:强将createFolder保持为true,如果将createFolder设为false,则不会对产生的目录进行监控,该目录下的子文件与子目录也不会被监控。所以除非特殊需要,请开启。
    默认情况下对创建文件(目录)事件与删除文件(目录)事件都进行监控,如果项目中不需要删除远程目标服务器的文件(目录),则可以将delete  参数设置为false,则不对删除事件进行监控。

  35. 补充参考http://lihuipeng.blog.51cto.com/3064864/563291

  36. ###############################add 20120309##############################

  37. <sersync> #黑体部分是我做的改动,其余没变要和客户端对应

  38. <localpath watch="/opt/test">

  39.            <remote ip="192.168.1.127" name="test"/>

  40. <!--<remote ip="192.168.8.39" name="tongbu"/>-->

  41. <!--<remote ip="192.168.8.40" name="tongbu"/>-->

  42. </localpath>

  43. <rsync>

  44. <commonParamsparams="-artuz"/>

  45. <authstart="false"users="root"passwordfile="/etc/rsync.pas"/>

  46. <userDefinedPortstart="false"port="874"/><!-- port=874 -->

  47. <timeoutstart="false"time="100"/><!-- timeout=100 -->

  48. <sshstart="false"/>

  49. </rsync>

  50. <failLogpath="/tmp/rsync_fail_log.sh"timeToExecute="60"/><!--default every 60mins execute once-->

  51. <crontabstart="false"schedule="600"><!--600mins-->

  52. <crontabfilterstart="false">

  53. <excludeexpression="*.php"></exclude>

  54. <excludeexpression="info/*"></exclude>

  55. </crontabfilter>

  56. </crontab>

  57. <pluginstart="false"name="command"/>

  58. </sersync>

  59. <pluginname="command">

  60. <paramprefix="/bin/sh"suffix=""ignoreError="true"/><!--prefix /opt/tongbu/mmm.sh suffix-->

  61. <filterstart="false">

  62. <includeexpression="(.*)\.php"/>

  63. <includeexpression="(.*)\.sh"/>

  64. </filter>

  65. </plugin>

  66. <pluginname="socket">

  67. <localpathwatch="/opt/tongbu">

  68. <deshostip="192.168.138.20"port="8009"/>

  69. </localpath>

  70. </plugin>

  71. <pluginname="refreshCDN">

  72. <localpathwatch="/data0/htdocs/cms.xoyo.com/site/">

  73. <cdninfodomainname="ccms.chinacache.com"port="80"username="xxxx"passwd="xxxx"/>

  74. <sendurlbase="http://pic.xoyo.com/cms"/>

  75. <regexurlregex="false"match="cms.xoyo.com/site([/a-zA-Z0-9]*).xoyo.com/images"/>

  76. </localpath>

  77. </plugin>

  78. </head>

  79. 安装

  80. yum install rsync(sersync调用)  

  81. 192.168.1.127客户端

  82. yum install rsync

  83. [root@localhost test]# rpm -qa | grep rsync

  84. rsync-3.0.6-5.el6_0.1.x86_64

  85. vi /etc/rsyncd.conf

  86. uid=root

  87. gid=root

  88. max connections=100

  89. use chroot=no

  90. log file=/var/log/rsyncd.log

  91. pid file=/var/run/rsyncd.pid

  92. lock file=/var/run/rsyncd.lock

  93. [test] #和sersync相关内容对应

  94. path=/opt/test

  95. #uid = root

  96. comment = test

  97. ignore errors = yes

  98. read only = no

  99. hosts allow = 192.168.1.124 192.168.1.127

  100. 启动服务

  101. rsync --daemon

  102. [root@localhost test]# ps -ef | grep rsync

  103. root      1873     1  0 Dec06 ?        00:00:00 rsync --daemon

  104. root      2818  1855  0 00:07 pts/0    00:00:00 grep rsync

  105. [root@localhost test]# lsof -i:873

  106. COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME

  107. rsync   1873 root    4u  IPv4  11195      0t0  TCP *:rsync (LISTEN)

  108. rsync   1873 root    5u  IPv6  11196      0t0  TCP *:rsync (LISTEN)

  109. 然后

  110. 192.168.1.124 sersync服务器执行以下操作启动服务

  111. /usr/bin/GNU-Linux-x86/sersync2 -d -o /usr/bin/GNU-Linux-x86/confxml.xml


  112. [root@localhost GNU-Linux-x86]# ps -ef | grep rsync

  113. root      1878     1  0 Dec06 ?        00:00:00 /usr/bin/GNU-Linux-x86/sersync2 -d -o /usr/bin/GNU-Linux-x86/confxml.xml

  114. root      2543  1860  0 00:09 pts/0    00:00:00 grep rsync

  115. 然后说说我这两边的其他操作 我把selinux关了 iptables也关了  

  116. 好了 现在可以测试去试试了


你可能感兴趣的:(职场,文件同步,休闲,sersync+rsync)