标签归档:sersync

SERSYNC实时同步

感谢金山,受益于开源,不忘奉献开源,以下是使用金山 sersync 在各分布式站点间进行实时同步的一例。
sersync使用 inotify 监控操作系统对磁盘的操作事件,通过接收到的事件生成带特定参数的rsync命令行并执行,从而达到实时增量同步的目的。
在使用pureftp做ftp服务器时,用flashfxp客户端向ftp服务器上传一个文件会依次触发以下几个主要事件:
createFile :pureftp生成临时文件pureftpd-rename.xxxx.xxxxxxxx
openFile:ftp服务器端以可写方式打开pureftpd-rename.xxxx.xxxxxxxx
Modify:向临时文件写入数据,在文件上传没有完成前会触发大量此事件
closeWrite:传输完毕,服务器关闭可写文件句柄触发该事件。
moveFrom:.pureftpd-rename.xxxx.xxxxxxxx,应该是从目录数据区删除文件相关信息
moveTo:<实际文件名>,应该是在目录数据区设置新的文件相关信息。

经过分析,在通常的应用中只需对 createFolder、closeWrite、moveFrom、moveTo四个事件进行监控。对于大多数可能对文件产生修改的操作,都要以可写的方式打开,在文件句柄关闭时,必然会产生可写文件关闭(closeWrite)事件,固不需要对其他文件操作事件进行处理,即可实现增量实时同步。

详细配置如下: 继续阅读