首页 > 代码库 > Rsync无差异同步原理和实现
Rsync无差异同步原理和实现
4、Rsync无差异同步原理和实现.md
无差异同步
在生产环境中我们可能会遇到这样的状况,我们的客户端在服务端去拉取数据的时候,首先一点,对于拉取我们的服务端有的那么我们客户端肯定有。但是我们的客户端有的服务端就不一定是有的了。反之如果是推送的话,那么我们客户端有的我们的服务端那肯定是有的,但是我们的服务端有的我们的客户端不一定有。所以对于这种当服务端删除一条数据之后为了保障我们的客户端也能在下一次同步的时候进行删除的这种情况我们就需要采取无差异同步,保障数据的一致性。
实现方法
--delete #实现无差异同步的方法,本地有远端就有,本地没有远端有也将删除。 无差异同步,说起来很简单,但是真正操作起来,如果是误操作那么影响是特别大的,比如我们的服务端不小心删除了一个数据,而此时我们又进行了一次无差异同步,那么所有客户机上的数据也将逐渐被删除。所以我们一定需要理解无差异同步的真正原理
演示
示例: 1、先查看服务端的所有数据 [root@node1 data]# ls /data/ a b c d issue 2、先在客户端做一次全量数据同步 [root@node2 ~]# rsync -avz --password-file=/etc/rsync.passwd caichangen@192.168.1.71::cce /tmp/ receiving incremental file list ./ a b c d issue sent 157 bytes received 367 bytes 1048.00 bytes/sec total size is 23 speedup is 0.04 [root@node2 ~]# ls /tmp/ a b c d issue 3、模拟误操作,在我们的服务端删除一条数据。例如文件issue [root@node1 data]# rm -f /data/issue 4、进行一次无差异拉取同步 [root@node2 ~]# rsync -avz --delete --password-file=/etc/rsync.passwd caichangen@192.168.1.71::cce /tmp/ receiving incremental file list deleting issue ./ sent 62 bytes received 146 bytes 416.00 bytes/sec total size is 0 speedup is 0.00 [root@node2 ~]# ls /tmp/ a b c d 可以看到我们进行一次同步之后我们的客户端也将issue文件同时删除掉了 一种可能出现的更严重的情况,如果我们的客户端服务器将数据全部删除了,而在此时我们又做了一次推送,那么我们的服务端数据将全部删除。 示例: 1、先查看服务端的所有数据 [root@node1 data]# ls /data/ a b c d 2、先做一次全量同步,而后将我们客户端的数据全部删除 [root@node2 ~]# rsync -avz --password-file=/etc/rsync.passwd caichangen@192.168.1.71::cce /tmp/ receiving incremental file list ./ a b c d sent 138 bytes received 290 bytes 285.33 bytes/sec total size is 0 speedup is 0.00 [root@node2 ~]# rm -rf /tmp/* 3、然后做一次无差异推送 [root@node2 ~]# rsync -avz --delete --password-file=/etc/rsync.passwd /tmp/ caichangen@192.168.1.71::cce sending incremental file list ./ deleting d deleting c deleting b deleting a sent 31 bytes received 11 bytes 84.00 bytes/sec total size is 0 speedup is 0.00 此时我们可以看到我们服务端的数据已经全部被干掉了
rsync的参考资料
http://rsync.samba.org man rsync man rsyncd.conf http://www.samba.org/ftp/rsync/rsync.html http://www.samba.org/ftp/rsync/rsync.conf.html
本文出自 “Char” 博客,请务必保留此出处http://charcce.blog.51cto.com/4255555/1930374
Rsync无差异同步原理和实现
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。