sersync

linux sersync实时同步软件

旧城冷巷雨未停 提交于 2019-11-26 10:21:44
Sersync实时同步软件 一、Sersync项目简介与框架设计 1.1项目简介 Sersync项目利用inotify与rsync技术实现对服务器数据实时同步的解决方案,其中inotify用于监控sersync所在服务器上文件系统的事件变化,rsync是目前广泛使用的本地及异地数据同步工具,其优点是只对变化的目录数据操作,甚至是一个文件不同的的部分进行同步,所以其优势大大超过使用挂接文件系统或scp等方式进行镜像同步. 目前使用的比较多的同步程序版本是inotify-tools,另外一个是google开源项目Openduckbill(依赖于inotify-tools),这两个都是基于脚本语言编写的,其设计思路同样是采用inotify与rsync命令. 相比上面两个项目,sersync项目的优点是: 1.使用c++编写,对linux系统文件产生的临时文件和重复的文件操作会进行过滤(后面会提到),在结合rsync同步的时候,会减少运行时消耗的本地及网络资源.因此速度更快. 2.相比较上面两个项目,sersync配置起来很简单:在 http://code.google.com/p/sersync/downloads/list 处下载源码(分为32版本与64位版本),其中bin目录下是已经编译好的二进制文件,配合bin目录下的xml文件直接使用即可. 3.使用多线程进行同步