为什么不能使用两个遥控器进行rsync?[关闭]


33

当源和目标都是远程时,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做到这一点有不可克服的技术障碍吗?还是仅仅是尚未实施的一种情况?在内存中创建一个本地缓冲区似乎很容易,该缓冲区可以调理两个远程对象之间的传输,同时保存哈希和数据。

编辑

由于人们提出了一些切线的建议,因此我发布了一个单独的问题,详细说明了我的特定用例。实际上,这是两个独立的部分,我认为值得了解rsync的这些特定细节


1
它将涉及到一个远程src rsyncd将数据发送到一个远程dest rsyncd。您可以通过切换到src系统并调用rsync来解决此问题。
亚历克斯·霍尔斯特

@AlexHolst我认为这不适用于我的特殊情况。看到编辑
goncalopp 2012年

抱歉,服务器故障不处理理论问题;关于您实际面临的问题的唯一可回答问题。有关更多详细信息,请参见常见问题解答
克里斯S

2
抱歉(主持人),这是一个有趣的有趣问题:原因是rdiff算法不能对称。“活动”端需要更大的CPU和内存开销。“被动”端仅需要计算所有已修改文件的所有块的校验和(请参阅--block-size参数),然后重新发送它们。这是在非常小的内存需求下完成的,并且大多数操作都可以在一级CPU缓存中完成。“主动”端需要通过校验和搜索现在位于同一数据块的位置...
hynekcer

1
我认为这是一个很好的问题(我恰好有这个问题,这就是为什么我在这里),而结束的原因是虚假的。我仍然想知道答案!
reinierpost

Answers:


8

为什么不尝试连接到远程计算机并从那里开始传输。如果您使用的是ssh-key,则可以使用agent pass through来管理身份验证。

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

此命令将使您登录到remoteHostA并从那里运行rsync。


3
有一些安全方面的考虑。见编辑
goncalopp 2012年

3
另外,如果您在两个系统之间没有直接访问权限,则将无法正常工作...而且,如果要获得直接访问权限,则需要等待两周才能让安全部分正确实施防火墙规则...
Gert van den Berg

1
场景:服务器A对服务器B和C具有基于密钥的根访问权限。您想使用两者上的根访问权限从B同步到C。但是您不希望B或C彼此具有根访问权限。
thomasrutter

5
scp -3r <remote src> <remote dest>

做到这一点没有问题。


4
scp不会做增量,AFAIK,在这种情况下非常需要。我的编辑的更多细节
goncalopp 2012年

4
顺便说一句,如果您想成为主机之间的代理,则scp必须带有选项-3
alterpub

不幸的是,scp缺少rsync的重要功能,例如:不跨越文件系统的选项(例如,安装在用户文件夹中的网络驱动器),存档模式(其中“保留了符号链接,设备,属性,权限,所有权等”)等...
堡垒

1

您可以通过使用挂载一个(或两个)远程文件系统来解决此问题sshfs。然后,rsync将其视为本地文件。

不幸的是,这将导致在装有文件系统的计算机上占用大量带宽sshfs,因此,我建议仅在您与第三台计算机之间具有大量带宽的计算机上使用此带宽。

当然,理想的解决方案是使机器直接相互通信。我想不出任何好的理由,他们不应该。


参见编辑。您指的原因是安全性。两台计算机中任何一台的(根)危害都不得导致对另一台计算机的文件系统访问。但是,也许我是从错误的角度进行攻击的,并且有一种解决方案不涉及第三台机器……
goncalopp 2012年

嗯 我认为这些细节确实应该添加到这个问题中。至于根本的妥协,您确实应该使用SELinux。
迈克尔·汉普顿

我之所以离开,是因为其他人可能对rsync的这种行为特别感兴趣。AFAIK,SELinux在任何一台机器上都无法判断另一台是否受到损害,如果在两种情况下本地执行的rsync具有完全相同的行为(对特定目录的文件系统访问)。
goncalopp 2012年

我不确定您是否了解SELinux的工作原理。它的全部意义在于,即使该服务以root身份运行,它也可以阻止服务(甚至是受到破坏的服务)访问其未被明确允许访问的内容。
迈克尔·汉普顿

我只有SELinux策略的一个基本的了解,但rsync的应该访问文件系统,是不是?如果远程计算机受到威胁,则不希望使用完全相同的(本地)访问模式。
goncalopp 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.