如何指定需要同步到 rsync 的大量文件列表?

如何指定需要同步到 rsync 的大量文件列表?

我有一个需要使用 rsync 同步的文件和目的地列表,但我不想为此运行 rsync 多次(由于我的情况是使用 ssh,连接时间很长)。

例子:

   ~/aaa    remote:/~/aaa
   ~/bbb    remote:/~/otherplace/bbb

你可以想象这个列表会更大,就我而言,我必须在多个远程服务器上运行相同的集合。

我如何轻松实现这一点?我希望 rsync 每个服务器启动一次。

答案1

当我想将此行为强行插入仅传输到特定文件夹的现有 rsync 脚本时,我曾对此做过快速修复:为此,我在两端创建了一个符号链接目录,并告诉 rsync-L在传输过程中取消引用链接 ( )。 在我这边,链接被取消引用到其内容中并传输到远程端的目录中,在那里它们被放入指向我想要的目录的符号链接中。

这实际上并不是指定备份文件的最糟糕方法。它用途广泛,并且易于定制,无需更改配置文件(嗯,符号链接的结构配置文件(在某种程度上)。

如果你想不是不过,在某些情况下,取消引用链接以进行传输。

答案2

如果问题出在 ssh 上,那么您可以通过重用 ssh 连接来加快速度,将其放入 ~/.ssh/config 或其他相关的 ssh 配置文件中:

Host *
  ControlMaster auto
  ControlPath /tmp/%r@%h:%p

相关内容