在阅读了一些文档之后,我仍然不明白(尽管有些人似乎只是用错了):rsync 服务器的目的是什么,为什么不只使用客户端?大多数人似乎通过 ssh 使用 rsync,我想这就是客户端。一般来说,我认为服务器发送,客户端接收,但在 freenas 文档中,情况恰恰相反:
rsync 服务器:该系统拉取(接收)数据。在配置示例中,该系统称为 PULL。
rsync 客户端:该系统推送(发送)数据。在配置示例中,该系统称为 PUSH。
这是正常设置吗?这让我很困惑,因为在正常的客户端-服务器设置中,客户端是拉数据,还是不?那么,如果这里的服务器充当客户端,那么为什么人们在客户端模式下使用 rsync 来获取(拉) 文件通过 ssh 传输(就像大多数教程所解释的那样)?
那么,当我在不同的网络中有两个存储(例如,一个用于 VPN 后面的备份)并且我不想运行额外的 sshd 时,我该如何设置呢?服务器在哪里运行,客户端在哪里运行?
答案1
通常在客户端服务器模型中,服务器有内容,而客户端想要获取它,因此,客户端进行拉取。
在 rsync 模型中,客户端希望存档本地数据,因此将其推送到服务器。当您配置服务器以从客户端获取数据时,它会提取该信息以创建存档。
答案2
rsync 服务器的正常用例是作为互联网上的服务,因此您可以使用 rsync 协议仅下载已更改的文件。
在这种情况下,没有 ssh 隧道。我确实经常在镜像上看到这种情况。在那里,服务器通过直接 rsync 协议提供只读访问。
客户端使用该协议连接到服务器。
在这种情况下,您的世界又恢复“正常”了。