Answers:
很多,但我会举几个例子。
如果ssh / rsh在远程服务器上不可用或者在配置或更严格的网络规则方面被破坏怎么办?使用rsh / ssh仍然需要客户端(取决于发送方或接收方角色),但是远程端将不得不在本地派生rsync二进制文件,并与在本地端运行的rsync进程建立连接。rsh / ssh仅提供一个连接隧道;就rsync而言,rsync正在通过管道与其他rsync进程进行通信。
具有守护程序模式的rsync进程将使该服务器成为真正的ftp外观服务器,在其中可以通过rsync模块使某些文件系统可用。其他一切都可以避免。说我只想让/ usr / local和/ var可供下载,并拒绝任何rsync客户端对其他下载的请求。我可以在主机级别或文件系统(模块)级别使用判断力,以允许上传或下载(只读)。
可以控制主机/用户级别的访问,身份验证,授权,日志记录和文件系统(结构)模块,以专门通过配置文件进行下载/上传。每次更改配置文件时,rsyncd --daemon
无需重新启动或HUPped
。还可以控制一次可以连接到rsync服务器进程的客户端数量。这很好,因为我不希望我的rsyncd服务器进程完全通过基于CPU或磁盘的I / O操作来关闭主机。
可以通过守护程序模式下rsyncd的配置来提供chroot功能。如果我要避免客户端连接到我的rsyncd上以获取必须在主机上保护的且不应该具有外部访问权限的任何文件/文件系统,则可以将其用作一种非常安全的功能。
我可以完全拒绝rsync客户端使用的某些选项,而不能在服务器端进行娱乐,例如不允许使用该--delete
选项。
可以选择在rsync进程之前和之后运行一些命令/脚本。一个示例是在传输后模式下报告和存储rsync统计信息。
这些是其中的一些,但是我确信rsync的专家用户可以对此进行更多介绍。
我在尝试使用cygwin在Linux机器和Windows机器之间同步大文件夹时遇到问题。在放弃了SSH隧道以支持使用rsync守护程序之后,我的问题消失了。
客户端不需要知道他/她向/从/推入的服务器的文件系统布局等。
rsync
使用SSH时遇到了什么问题?
rsync的常见用法是镜像文件的公共存档。主副本的操作员不想允许远程Shell访问档案,而是希望运行远程镜像的志愿者能够有效地获取档案的完整副本。Rsync在创建镜像时非常有效,因为它只会下载更改的位,并且如果网络中出现轻微中断,它将不会重新下载整个大文件(cd / dvd图像)。
实际上,bit torrent协议现在可能是一个更好的选择,但是rsync是在很多年前发布的。
即使是现在,许多主要档案馆仍将rsync用于镜像。
请参阅:http://www.debian.org/mirror/ftpmirror
我们推荐的镜像协议是rsync。
SSH由于例如加密使用而产生开销。因此,从理论上讲,您应该通过rsync服务器守护程序获得更高的吞吐量。