sersync文件实时同步

凉白开 运维工具323,3114字数 2370阅读7分54秒阅读模式

门户网站一般使用一台cms来生成静态文件,cms同步文件到几台服务器上提供用户访问,现在有些使用sersync实时同步到多台web服务器上,有些站点则使用rsync+inotify来同步文件,还有各种方法,这种就不列举了,这边看下sersync的安装配置.

sersync介绍文章源自运维生存时间-https://www.ttlsa.com/tools/install-sersync-on-linux/

sersync主要用于服务器同步,web镜像等功能。基于boost1.43.0,inotify api,rsync command.开发。目前使用的比较多的同步解决方案是inotify-tools+rsync ,另外一个是google开源项目Openduckbill(依赖于inotify- tools),这两个都是基于脚本语言编写的。相比较上面两个项目,本项目优点是:文章源自运维生存时间-https://www.ttlsa.com/tools/install-sersync-on-linux/

  •     sersync是使用c++编写,而且对linux系统文件系统产生的临时文件和重复的文件操作进行过滤(详细见附录,这个过滤脚本程序没有实现),所以在结合rsync同步的时候,节省了运行时耗和网络资源。因此更快。
  •     相比较上面两个项目,sersync配置起来很简单,其中bin目录下已经有基本上静态编译的2进制文件,配合bin目录下的xml配置文件直接使用即可。
  •     另外本项目相比较其他脚本开源项目,使用多线程进行同步,尤其在同步较大文件时,能够保证多个服务器实时保持同步状态。
  •     本项目有出错处理机制,通过失败队列对出错的文件重新同步,如果仍旧失败,则按设定时长对同步失败的文件重新同步。
  •     本项目自带crontab功能,只需在xml配置文件中开启,即可按您的要求,隔一段时间整体同步一次。无需再额外配置crontab功能。
  •     本项目socket与http插件扩展,满足您二次开发的需要。

下载sersync文章源自运维生存时间-https://www.ttlsa.com/tools/install-sersync-on-linux/

# wget http://tar.766.com/sersync2.5.4_64bit_binary_stable_final.tar.gz

安装sersync文章源自运维生存时间-https://www.ttlsa.com/tools/install-sersync-on-linux/

# tar -xzvf sersync2.5.4_64bit_binary_stable_final.tar.gz  -C /usr/local/sersync

配置sersync文章源自运维生存时间-https://www.ttlsa.com/tools/install-sersync-on-linux/

# vim confxml.xml

<filter start="false">                                                               #关闭文件过滤监控
<inotify>                                                                            #监控参数
    <modify start="true"/>                                                           #允许修改监控 
</inotify>                      
<sersync>                                                                            #监控参数
     <localpath watch="/data/site/">                                                  #监控目录
           <remote ip="192.168.1.2" name="psn_ttlsa_com"/>                             #同步到远程主机的rsync 块 psn_html下
     </localpath>
    <rsync>                                                                          #rsync参数
      <auth start="true" users="root" passwordfile="/etc/rsync.pas"/>                #用户名密码
      <timeout start="false" time="300"/>                                            #超时设置
    </rsync>
    <failLog path="/tmp/rsync_fail_log.sh" timeToExecute="30"/>                      #同步失败日志脚本(30分钟后会重新同步) 
</sersync>

启动sersync文章源自运维生存时间-https://www.ttlsa.com/tools/install-sersync-on-linux/

/usr/local/sersync/sersync2 -o ./confxml.xml -n 20 -d
-o                                                                                  #指定配置文件
-n                                                                                  #启动线程数量
-d                                                                                  #daemon方式启动

在/data/site下创建、删除、修改文件都会实时同步到192.168.1.2的rsync模块为psn_ttlsa_com的站点上.sersync安装在cms上。其他web服务器需要安装rsync服务器.文章源自运维生存时间-https://www.ttlsa.com/tools/install-sersync-on-linux/

 文章源自运维生存时间-https://www.ttlsa.com/tools/install-sersync-on-linux/

转载请注明出处:https://www.ttlsa.com/html/3049.html文章源自运维生存时间-https://www.ttlsa.com/tools/install-sersync-on-linux/ 文章源自运维生存时间-https://www.ttlsa.com/tools/install-sersync-on-linux/

weinxin
我的微信
微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~
凉白开
  • 本文由 发表于 17/09/2013 18:35:43
  • 转载请务必保留本文链接:https://www.ttlsa.com/tools/install-sersync-on-linux/
评论  3  访客  3
    • 706642002@qq.com
      706642002@qq.com 9

      #errno -1 是怎么解决的?
      头痛中

      • 囧客圈
        囧客圈 0

        这个我一直在用 很方便

        • nhzy资讯
          nhzy资讯 9

          来看看博主,博客不错,互访哦,期待你的到访!

        评论已关闭!