假设一个系统将始终具有主副本而另一个系统将始终具有最近的副本(少于48小时),那么在unix框之间通过ssh镜像改进rsync的最佳技术是什么?
此外,还需要做些什么来扩展这种方法来处理数十台机器来推动这些变化?
解决方法
如果:
>文件的修改时间是正确的
>文件不是很大
>不能错过推送(或者有某种积压处理)
您可以使用find -ctime或file -cnewer来创建自上次执行以来已更改文件的列表,并仅复制已修改的文件(仅仅是一个美化的差异推送).
这为多个主机很好地翻译了:只需在源上执行差异tar,然后在所有主机上解压缩.
它给你这样的东西:
find -type f -cnewer /tmp/files_to_send.tar.gz > /tmp/files_to_send.txt tar zcf /tmp/files_to_send.tar.gz --files-from /tmp/files_to_send.txt for HOST in host1 host2 host3 ... do cat /tmp/files_to_send.tar.gz | ssh $HOST "tar xpf -" done
脚本有待完善,但你明白了.