这是我做的:
rsync everything enter maintenance rsync changes since first rsync leave maintenance
第一个rsync是同步市长更改而不locking系统。 它可以运行很长时间,这很好。
但第二个rsync应尽快完成,通常没有或只有一些变化。 然而,由于这是如此多的文件需要相当长的时间。
是否有一个我可以使用的技巧,因为我知道我之前同步了它?
这里是我使用的rsync标志:
rsync --partial --progress --delete --archive --verbose --compress --links --times
一些技巧:
--numeric-ids选项添加到您的rsync调用中 rsync之前一段时间安排一个find <path> > /dev/null ; 这将预加载两个节点上的元数据caching,大大加快了rsync执行速度 通过ssh加速rsync
你可以使用一个multithreading的不同客户端,它将把你的工作分解成与远端的ssh允许和指定的连接数量。
使用LFTP客户端及其镜像子系统,查看SFTP上的Rsync
您可以使用--loop选项继续同步(重新同步),直到没有更改。
我在复制数据库备份和每小时logging远程目标的多个系统上使用它。 这是非常快的。 你唯一的限制将是带宽和最大连接允许在远程端立刻授权,允许一次打开最大数量的文件。
这种方法也可以比rsync + ssh更安全,因为支持Chroot SFTP。 如果您愿意,不需要为客户提供shell。
我更喜欢在系统维护中添加rsync的第二步。 如果第一步需要时间,第二步可能需要几分钟/几小时才能进行系统维护。 然后最后一个需要秒/分钟,而不是几个小时。