之前在某个产品中使用了Gossip算法进行数据库数据的同步,但是在新的产品中有个需求,就是当文件变化时,(由于文件比较大,比较多)支持增量推送到文件服务器上。于是想到了Unix下的rsync算法,本文也是拜读了很多大佬的作品,从自己理解的角度整理出来。关于rsync算法的原文请阅读
https://rsync.samba.org/tech_report/tech_report.html
1、同步技术
一般除了rsync增量同步外,还有一种scp的同步方式,用于将文件上传和下载,类似于ftp协议。scp username@servicename:/path/filename /var/localdir
举例:比如使用这个命令scp root@192.168.0.1:/path/ClassPath.xml /var/localdir。意思就是将192.168.0.1服务器上面的Classpath.xml文件下载到本地的var/localdir文件夹中。
scp /var/filename username@servicename:/path
举例:比如使用scp /a.xml root@192.168.0.1:/path ,意思就是将本地的a.xml文件上传到192.168.0.1 服务器的path路径下,用户名root。
当然了&