rsync 可避免精确副本的冗余传输

vac*_*ach 4 linux rsync

我有 100 多个微服务,它们首先构建在本地机器上,然后同步到目标机器并启动。

所有微服务都使用一个共享的 fat.jar 文件,重命名它并存储在它们的分发文件夹中。

/serviceA
  /a.jar
/serviceB
  /b.jar
...
Run Code Online (Sandbox Code Playgroud)

当我们将它 rsync 到服务器时,rsync 不会发现所有 jar 文件(它们一起占发行版的 99%)都是完全相同的 fat.jar。因此,如果 rsync 更智能,它实际上只能传输一个 a.jar,然后将其复制给所有其他人(因为它们的大小和散列将完全相同)。

这可能与 rsync 有关还是我应该寻找其他解决方案?这会显着降低部署速度,尤其是当我的互联网连接不佳时!

Kus*_*nda 5

不要fat.jar在每台服务器上重命名原始文件。

如果必须使用其他名称访问该文件,请创建指向该文件的符号链接。

对于serviceA

ln -s fat.jar a.jar
Run Code Online (Sandbox Code Playgroud)

对于serviceB

ln -s fat.jar b.jar
Run Code Online (Sandbox Code Playgroud)