rsync 到多个远程服务器

rsync 到多个远程服务器

我有一个文件想要发送到多个单独的服务器。是否可以指定多个目的地?

rsync foo.png server1:foo.png server2:foo.png

这给了我一个“意外的远程arg:server1:foo.png

答案1

事实证明,有一个程序允许这样做,但不是原始的 rsync 程序。它被称为 pssh (我想是并行 ssh)

特点之一:

“--并行rsync(parallel-rsync,上游称之为prsync),高效地将文件并行复制到多个主机”
-http://www.ubuntugeek.com/execute-commands-simultaneously-on-multiple-servers-using-psshcluster-sshmultixterm.html

答案2

不,无法rsync指定多个目的地。您需要多次调用该命令。如果您有很多目标,您可能需要考虑使用网络文件系统——它可能更适合您的问题。

答案3

尽管您通过文件输入多次调用该命令,但这可以通过在一个所需文件中指定所需目标来完成:

while read in; do rsync -av /Path/of/Source/Synced.file "$in":/Path/of/Destination/Synced.file; done < destinations.txt

在此输入图像描述

请原谅我的测试,因为我当时只有两个系统可用,但我确信这将根据需要适用于多个系统。我认为这不是最优雅的方法,但它绝对是自动化的一种方式。如果这不起作用,请随时纠正我,因为在发帖时我没有可用于测试两个系统之外的资源。

相关内容