题 为什么rsync没有在Windows世界中流行? [关闭]


看起来 rsync的 是Unix / Linux中高效文件备份和同步的事实标准。

有没有人想过为什么它不会在Windows世界中流行?

为什么它不成为文件同步的通用“协议”?


97




这是因为没有一个像样的端口,因为Windows用户已经习惯了它。现有的不太好的港口是一个大的PITA。 - RomanSt
Windows已经通过DFS和提供增量同步 RDC 可以集中管理,大规模部署,配置等 - Panagiotis Kanavos
@ p.campbell,Windows有cwrsync - Pacerier


答案:


我会说主要是因为Windows中的人不知道它。 Rsync是一个命令行实用程序,它与预先安装了大量小工具的unix理念一致。 Windows哲学基于GUI应用程序,这些应用程序都是单独下载和安装的。没有一个平滑的集成点,其中rsync很明显或很有意义,并且在Windows系统上运行命令充其量是乏味的。

此外,当rsync作为一个更大的应用程序(比如用于整合和解析日志),或作为一个自动存档系统(用cronjob轻松实现)时,它真的很闪耀。 Windows根本没有其生态系统中的其他工具来使用rsync实际上可行。

最后,我会说rsync太复杂了。任何我知道经常使用它的人都有一组预先设定的标志(我的是-avuz)通常可以做他们想要的,但是手册页/文档清单 许多 命令行开关,其中一些是其他开关的合并。例如(来自[手册页] [1]):

-a, - archive:存档模式;等于-rlptgoD(没有-H,-A,-X)

这是一种快速的方式,说你想要递归,并希望保留几乎所有东西(-H是一个值得注意的遗漏)。上述等价的唯一例外是指定了--files-from,在这种情况下,不暗示-r。


48



我完全同意你的看法 !手册页是理解rsync和许多其他应用程序的最糟糕方式。 - Antoine Benkemoun
实际上,情况正好相反。 UNIX / Linux人员至少从2006年开始就不知道Windows提供的是DFS和RDC。它易于设置,管理,部署到整个域(即数百或数千台具有数十或数百个客户端的桌面)。 - Panagiotis Kanavos
@PanagiotisKanavos除了DFS与rsync不同。 NFS(或许多其他协议)在基于Linux的操作系统上可用,但rsync通常用于分阶段备份,一旦关闭传输,等等。苹果和橙子。 - Andrew White
@Pacerier:“命令行是命令行”?你要么非常宽容,要么只知道一个而不是其他人。对于任何在Linux / Mac(或任何其他Unix shell)中都知道Bash的普通人来说,cmd.exe是如此残缺,以至于说它“充其量只是乏味”仍然是轻描淡写。 - mivk
“并且在Windows系统上运行命令充其量是乏味的。” - 要么你没有做太多,从未听说过Powershell,是一个Linux粉丝,或者以上所有。这些天与它在Linux上做的并没有什么不同。 - Alan B


没有人提到过,我很惊讶 DeltaCopy,这是在Windows GUI中打包的rsync。它甚至可以将自身安装为rsyncd兼容服务。


63



+1我不能赞成这一点。 DeltaCopy是我们将几台Linux服务器备份到基于Windows的备份服务器的方式。 Ubuntu上的Rsync直接进入Windows上的DeltaCopy客户端。 - Matt Everson
它似乎与ntfs安全权限不一致 - JamesRyan
可以通过SSH拉取文件,而无需远程Linux机器上的rsyncd吗? - Cees Timmerman
当rsync在ssh上运行时,它会在另一端启动rsync进程。您无需在远程计算机上配置独立的rsyncd,但您需要安装它。 - Sekenre
DeltaCopy作为Windows上的服务器,运行rsync的cron脚本到linux盒子和rsnaphot来实现“Time Machine”备份。无价。 - MGP


在我看来,因为没有像样的GUI。

另一个论点可能是有robocopy。 Robocopy缺少rsync提供的许多很酷的功能, 但在大多数情况下,robocopy只适合手头的工作。


11



robocopy无法优化远程拷贝,这是rsync的主要创新。我会说没有点击式图形用户界面是不尝试它的唯一借口 - Javier
在windows世界中,使用“远程”文件通常涉及共享远程光盘,然后执行“本地”文件操作。因为robocopy就足够了。


我广泛使用Cygwin rsync,效果很好。

但......

这是一个安装和配置的bugger。你必须做一个完整的Cygwin安装才能得到一个二进制和三个dll,并且不明显需要哪三个dll。如何将其作为服务运行并不明显,命令行语法很复杂。非书呆子很想放弃。

它也会让我权限达到我总是设置cygwin = nontsec的地步,并且它会经常挂起。我知道挂起是Cygwin dll的一个已知问题,而不是rsync本身(这不是对Cygwin家伙的批评。他们取得的成就是奇迹般的!)。

如果您通过WAN链接进行任何类型的复制,Rsync非常有用,并且在我的待办事项列表上编写本机Win32版本。可悲的是,它已经在我的待办事项清单上已有好几年了,并且没有接近顶峰。我不认为编写GUI包装器是向前迈出的一大步,因为无法解决Cygwin版本的一些基本问题。

如果有人有兴趣, http://www.ratsauce.co.uk/notablog/UsingRsync.asp 描述了让Cygwin rsync在Windows上工作的痛苦时间的结果。

JR


9



虽然它在我的XP系统上安装并运行良好,但Vista根本不喜欢它。 Rsync是业务,如果Windows的本地端口,我相信它会被更多地使用。 - gbjbaanb
Git for Windows安装提供了配置好的bash和CygWin开箱即用。您甚至可以选择将unix命令集成到CMD。瞧,我忘了使用PowerShell或CMD) - it3xl


我会说,对于较小的计算机与计算机同步,人们正在使用 ROBOCOPY的SyncToy, 要么 FolderShare的 (现在直播同步)。对于大型企业分布式多主文件共享方案,他们正在使用 分布式文件系统(DFS)。这些工具可以很好地处理大多数同步方案,在Windows上安装,学习和使用重新编译的* nix应用程序几乎没有什么好处。


8





您的普通Windows用户将使用它 对于


7



真实的+1 - Windows用户的备份主要是“将其拖放到单独的/外部硬盘” - LiraNuna
我很少将回复标记下来,而且我不会将此标记下来,但是从什么时候开始ServerFault成为普通Windows用户的论坛?对于系统管理员,异地复制变得越来越重要。大公司可能会购买DPM来使用他们的T3连接。我们较为卑微的类型需要能够以ADSL上传速度工作的东西,而rsync可以很好地完成这项工作。 - John Rennie
@John:是的,但人们不会使用rsync,除非他们知道它存在。 rsync已被用于“典型”* nix用户多年,并且因此任何值得他的盐的* nix系统管理员都知道它。在Windows上?没那么多。 Windows是(可能更重要的是, 是 针对不同的受众,一个对此类工具不感兴趣或不感兴趣的受众。而且由于Windows系统管理员通常以Windows开头 用户,他们使用的工具受Windows Windows工具的影响 用户 使用。你混合了两个不同的顾虑(为什么 是不是很受欢迎,vs 会有用吗) - jalf
我刚刚回答了前者,我并不否认它会有用 - jalf
是的,但是还有很多Windwos服务器需要备份。 - kiltek


IMO:

rsync远不太可能安装在Windows世界中遇到的机器上,而经常安装带有robocopy的Resource Kit(或者至少它位于可以安装在生产系统上的“已批准”软件列表中)。

正如其他人所指出的那样,无论手头有什么猫,机器人通常都足以满足皮肤的要求。它可能不如rsync那么好,但它是一个很好的工具。

缺乏GUI可能是一个因素,但即使有可用于robocopy的前端,我发现大多数人都会找出所需的robocopy开关并将其粘贴在.bat文件中。


4



使用Windows 2008(我认为是这样),操作系统附带了robocopy,因此无需再安装它。 - mrdenny
我没有意识到这一点。感谢您提供信息...我们距离2008年至少有一年的时间在我们的环境中,自从退出AD管理以来,我没有跟上。 - damorg
Robocopy默认安装在Vista和Windows 7中,也可能安装在PE对应部件中。 - Oskar Duveborn
Robocopy不会只传输文件的CHANGED部分,因此与rsync相比,具有较小更改的大文件复制速度非常慢。 - JustinP