提高 rsync 备份性能

sal*_*sal 8 unix backup mirror rsync

假设一个系统将始终拥有主副本,而另一个系统将始终拥有最近的副本(不到 48 小时),那么通过 ssh 镜像改进 rsync 的最佳技术是什么?

此外,要扩展该方法以处理数十台推动这些变化的机器,必须做些什么?

Ste*_*epp 6

如果 :

  • 你文件的修改时间是对的
  • 文件不是很大
  • 不能错过任何推送(或者有某种积压处理)

您可以使用find -ctimefile -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
Run Code Online (Sandbox Code Playgroud)

脚本已经改进,但你明白了。