Psyncd
Psyncd介绍:
Psyncd是一款类似于Lsyncd的文件同步工具,开发语言是python,原理是基于inotify对文件改动事件的监控,然后封装rsync命令进行同步。既可以批量同步,也可以实时同步。
Psyncd采用time delay和events delay机制,这两种方式同时兼顾了实时性和海量小文件同步。可以对海量小文件进行聚合,避免使用inotify+rsync时海量文件造成频繁切换线程造成cpu负载增加,吃不满带宽。(我觉得文件聚合做的还不错,可以读一下代码,或者一起交流)
Psyncd也可以监控到单个小文件改动,进行单个文件的精确推送,避免增加系统负载。
Psyncd可以同时监控百万级文件,推送十几个target。(参考目前的测试效果)
Psyncd文件改动事件的监控依赖于watchdog(其中watchdog的依赖,可以参考watchdog项目),watchdog封装了inotify和pathtools等,是基于python开发的一个文件事件监控库。
Psyncd开发和测试环境是python2.7,python3.5只进行过简单测试(50G/70W+ 文件) 。
如何使用:
0.请预先