守护程序模式下对rsync服务器有何需求


29

我不了解在守护程序模式下需要rsync服务器。如果我可以将rsync与SSH或telnet一起使用,会有什么好处?

Answers:


22

很多,但我会举几个例子。

  1. 如果ssh / rsh在远程服务器上不可用或者在配置或更严格的网络规则方面被破坏怎么办?使用rsh / ssh仍然需要客户端(取决于发送方或接收方角色),但是远程端将不得不在本地派生rsync二进制文件,并与在本地端运行的rsync进程建立连接。rsh / ssh仅提供一个连接隧道;就rsync而言,rsync正在通过管道与其他rsync进程进行通信。

  2. 具有守护程序模式的rsync进程将使该服务器成为真正的ftp外观服务器,在其中可以通过rsync模块使某些文件系统可用。其他一切都可以避免。说我只想让/ usr / local和/ var可供下载,并拒绝任何rsync客户端对其他下载的请求。我可以在主机级别或文件系统(模块)级别使用判断力,以允许上传或下载(只读)。

  3. 可以控制主机/用户级别的访问,身份验证,授权,日志记录和文件系统(结构)模块,以专门通过配置文件进行下载/上传。每次更改配置文件时,rsyncd --daemon无需重新启动或HUPped。还可以控制一次可以连接到rsync服务器进程的客户端数量。这很好,因为我不希望我的rsyncd服务器进程完全通过基于CPU或磁盘的I / O操作来关闭主机。

  4. 可以通过守护程序模式下rsyncd的配置来提供chroot功能。如果我要避免客户端连接到我的rsyncd上以获取必须在主机上保护的且不应该具有外部访问权限的任何文件/文件系统,则可以将其用作一种非常安全的功能。

  5. 我可以完全拒绝rsync客户端使用的某些选项,而不能在服务器端进行娱乐,例如不允许使用该--delete选项。

  6. 可以选择在rsync进程之前和之后运行一些命令/脚本。一个示例是在传输后模式下报告和存储rsync统计信息。

这些是其中的一些,但是我确信rsync的专家用户可以对此进行更多介绍。


8
  1. 我在尝试使用cygwin在Linux机器和Windows机器之间同步大文件夹时遇到问题。在放弃了SSH隧道以支持使用rsync守护程序之后,我的问题消失了。

  2. 客户端不需要知道他/她向/从/推入的服务器的文件系统布局等。


1
为#2 +1。诸如镜像网络之类的情况由于其高度分布的性质而产生了不确定性,因此能够将无关的本地决策与网络的运行脱钩是很好的。
沃伦·杨

@tim您在Cygwin和rsync使用SSH时遇到了什么问题?
Daniel Sokolowski

3

rsync的常见用法是镜像文件的公共存档。主副本的操作员不想允许远程Shell访问档案,而是希望运行远程镜像的志愿者能够有效地获取档案的完整副本。Rsync在创建镜像时非常有效,因为它只会下载更改的位,并且如果网络中出现轻微中断,它将不会重新下载整个大文件(cd / dvd图像)。

实际上,bit torrent协议现在可能是一个更好的选择,但是rsync是在很多年前发布的。

即使是现在,许多主要档案馆仍将rsync用于镜像。

请参阅:http//www.debian.org/mirror/ftpmirror

我们推荐的镜像协议是rsync。


另请参阅zsync以了解此类应用程序-就像rsync一样,但是它在客户端而不是服务器上完成所有艰苦的工作。服务器只需要一个预先计算的哈希表。
rjmunro 2015年

1

您可以向Extranet提供rsync-services,并允许以这种方式进行同步,而不必公开ssh。

在守护程序模式下,rsync将适当地更快地计算本地校验和,因此如果您希望有多个并行客户端,则rsync是更好的套件。使用独立命令时,需要为每个会话重新计算校验和。


0

SSH由于例如加密使用而产生开销。因此,从理论上讲,您应该通过rsync服务器守护程序获得更高的吞吐量。


2
我不会为此而投票,因为是的,确实存在一个理论上的网络,其中加密开销很重要。我想您会发现,如果对它进行衡量,那就是它在实际网络中并不重要,除了可能在初始密钥协商阶段。数据包一旦流动,网络等待时间就会吞噬加密时间。
沃伦·杨

@WarrenYoung在大型管道上托管公共rsync服务器的老人机。
吉尔斯(Gilles)“所以,别再邪恶了”,

1
@Gilles-足够慢的计算机以至于它不能足够快地加密以保持管道满,可能首先会遇到磁盘带宽问题。底线,我想看看尺寸。并且在有人发布测量值之前,请确保尝试将传输大小加倍,并确保您测量的任何效果也加倍。如果不是这样,那么您就算是关键协商,我将在这之前预先花很多时间。
沃伦·杨

在这种情况下,并行GNU并行将是更好的选择。
Nikhil Mulley
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.