跨多台机器进行 rsync

跨多台机器进行 rsync

我有以下设置:运行 linux 的机器 A、B、C。我必须从机器 A 到机器 C 进行连续的 rsync,并为此编写一个脚本。但是,从机器 A 只能通过 B 访问机器 C。所以我必须 ssh 到 B,然后才能 ssh 到 C。

我现在的rsync方法是,首先从C rsync到B,然后从B rsync到A。但是,通过机器之间的额外副本,这是

答案1

为此,您可以使用 netcat。这是一个示例设置:

在机器 A 上,您的 ~/.ssh/config 如下所示:

Host            machinec.whatever.domain.com
ProxyCommand    /usr/bin/ssh machineb /usr/bin/nc %h %p

(添加 IdentityFile 或您可能需要的任何其他内容)

这将让你直接通过机器 B 进行 rsync; netcat/nc 将为您转发整个数据流。当然,这需要nc在机器 B 上的该路径中可用。

相关内容