为什么不能使用两个远程rsync?

当源和目标都是远程时,rsync抱怨:

The source and destination cannot both be remote. rsync error: syntax or usage error (code 1) at main.c(1156) [Receiver=3.0.7]

有没有一个不可逾越的技术障碍,使rsync做到这一点? 还是仅仅是一个尚未实现的案例? 在内存中创build一个本地缓冲区似乎比较容易,该缓冲区调解两个遥控器之间的传输,同时保存哈希和数据。

编辑

由于人们提出了一些切线的build议,我已经发布了一个单独的问题,详细介绍了我的特定用例。 这是两个单独的,真的,我认为值得了解这些rsync的具体细节

    为什么不尝试连接到远程机器并从那里开始传输。 如果您使用ssh-keys,则可以使用代理程序传递来pipe理您的身份validation。

     ssh -A remotehostA rsync /remote/file/on/host/a remoteHostB:/destination/ 

    这个命令会把你login到remoteHostA上并从那里运行rsync。

    scp <remote src> <remote dest>没有这样做的麻烦。

    您可以通过使用sshfs挂载一个(或两个)远程文件系统来解决此问题。 然后,rsync会把它看作是本地的。

    不幸的是,这将导致其文件系统使用sshfs挂载的计算机上的带宽使用量很大,所以我build议只使用与第三台计算机之间的带宽很大的计算机来执行此操作。

    当然,理想的解决scheme是机器直接对话。 我想不出有什么好的理由。