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


97

看来rsync是事实上的标准,用于在Unix / Linux中进行有效的文件备份和同步。

是否有人对为什么它在Windows世界中不流行有任何想法?

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


4
这是因为没有合适的端口,并且Windows用户已经习惯了它。现有的非相当大的港口是一个很大的PITA。
RomanSt 2011年

1
窗户已经提供了通过DFS和增量同步RDC可以集中管理,大规模部署,配置等
帕纳约蒂斯Kanavos

@ p.campbell,Windows有cwrsync
Pacerier,2015年

Answers:


48

我之所以这么说,主要是因为窗户上的人没有意识到这一点。Rsync是一个命令行实用程序,与UNIX预装很多小工具的哲学是一致的。Windows哲学基于GUI应用程序,它们都是单独下载和安装的。没有一个平滑的集成点可以使rsync变得明显或有意义,并且在Windows系统上运行命令充其量是乏味的。

另外,rsync在大型应用程序中(例如用于合并和解析日志)或作为自动存档系统(使用cronjob可以轻松实现)时,确实非常出色。Windows在其生态系统中根本没有其他工具可以使使用rsync实际上可行。

最后,我要说的是rsync太复杂了。我认识的经常使用它的人都有一组预设的标志(我的名字是-avuz),通常可以完成他们想要的操作,但是手册页/文档中列出了数十个命令行开关,其中一些是其他开关的组合。例如(从[手册页] [1]):

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

这是说您想要递归并想要保留几乎所有内容的快速方法(其中-H是明显的遗漏)。上述等效项的唯一例外是指定了--files-from时,在这种情况下不隐含-r。

Windows用户通常期望窗口和菜单,并且使单个应用程序成为一种多合一的解决方案,而不仅仅是工具链中的独立部分。


11
我完全同意你的看法 !手册页是理解rsync和许多其他应用程序的最差方法。
Antoine Benkemoun,2009年

2
实际上,这是相反的。UNIX / Linux用户至少从2006年开始就不知道Windows提供了DFS和RDC。易于设置,管理和部署到整个域(即具有数十个或数百个客户端的数百或数千个桌面)。
Panagiotis Kanavos 2014年

3
@PanagiotisKanavos除了DFS与rsync不同。NFS(或许多其他协议)可在基于Linux的操作系统上使用,但rsync通常用于分段备份,一次传输关闭等。苹果和橘子。
安德鲁·怀特

5
@Pacerier:“命令行是命令行”吗?您要么非常宽容,要么只知道一个,而另一个则不知道。对于任何了解Linux / Mac(或其他Unix外壳)中的Bash的普通人来说,cmd.exe是如此残缺,以至于说它“充其量是乏味的”仍然是一种轻描淡写的说法。
mivk 2015年

2
“在Windows系统上运行命令充其量是乏味的。” -您可能没有做太多事情,从未听说过Powershell,Linux迷或以上所有内容。如今与在Linux上进行操作并没有什么不同。
艾伦B

63

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


3
+1我不能足够投票。DeltaCopy是我们将几个Linux服务器备份到基于Windows的备份服务器的方式。在Ubuntu上的Rsync直接进入Windows上的DeltaCopy客户端。
马特·埃弗森

使用ntfs安全权限似乎效果
不佳

是否可以通过SSH在远程Linux机器上没有rsyncd的情况下提取文件?
Cees Timmerman

1
当rsync在ssh上运行时,它将在另一端启动rsync进程。您无需配置在远程计算机上运行的独立rsyncd,但需要安装它。
塞肯尔2015年

DeltaCopy作为Windows上的服务器,cron脚本运行rsync到linux机器,并运行rsnaphot以实现“ Time Machine”备份。无价。
MGP

11

我认为,因为没有像样的GUI。

另一个论点可能是存在robocopy。Robocopy缺少rsync提供的许多很酷的功能,但是在大多数情况下,robocopy足以胜任当前的工作。


4
robocopy没有做任何事情来优化远程副本,这是rsync的主要创新。我会说没有点击鼠标指向的GUI是不尝试使用它的唯一借口
Javier

2
在Windows世界中,处理“远程”文件通常涉及共享远程光盘,然后执行“本地”文件操作。并且对于该robocopy就足够了。

9

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

但是...

安装和配置是个麻烦。您只需要完整安装一次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


对此,尽管Vista在我的XP系统上安装并运行良好,但Vista一点都不喜欢它。Rsync是业务,如果它有到Windows的本地端口,我敢肯定它会被更多使用。
gbjbaanb

Windows的Git安装可立即使用已配置的bash和CygWin。您甚至可以选择将unix命令集成到CMD。瞧,我忘了使用PowerShell或CMD)
it3xl

8

我想说的是,对于较小的计算机到计算机的同步,人们正在使用RobocopySyncToyFoldershare(现在称为 Live Sync)。对于大型企业分布式多主文件共享方案,他们使用分布式文件系统(DFS)。这些工具可以很好地处理大多数同步情况,而在Windows上安装,学习和使用重新编译的* nix应用程序几乎没有任何好处。


7

您的普通Windows用户将使用它什么?


3
+1是正确的
-Windows

17
我很少将答复标记为下来,也不会将其标记为下来,但是从什么时候ServerFault成为普通Windows用户的论坛?对于系统管理员来说,异地复制变得越来越重要。大公司可能只会购买DPM以在其T3连接上使用。我们的谦虚类型需要一些能够以ADSL上传速度运行的东西,而rsync可以很好地做到这一点。
约翰·雷尼

3
@John:是的,但是除非人们知道rsync的存在,否则他们不会使用它。rsync已被使用,并且对“典型的” * nix用户已经有用,并且有用,因此,任何值得他的* nix系统管理员都知道这一点。在Windows上?没那么多。Windows是(而且可能更重要的是,针对的是不同的受众群体,他们对类似的工具没有兴趣或使用过。由于Windows系统管理员通常最初是Windows 用户,因此他们使用的工具会受到哪些工具的影响Windows 用户使用。您正在混合两个不同的问题(为什么它不受欢迎,而有用
jalf

我刚才已经回答了前者,我不否认,这将是有益的
jalf

是的,但是周围还有很多Windwos服务器也需要备份。
kiltek

4

海事组织:

rsync不太可能安装在Windows世界中遇到的机器上,而经常安装带有robocopy的资源工具包(或者至少在“可以批准”的软件列表上,可以将其安装在生产系统上)。

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

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


在Windows 2008(及更高版本)中,robocopy随操作系统一起提供,因此无需再安装它。
mrdenny

我没有意识到这一点。感谢您提供的信息...在我们的环境中,我们距2008年至少还有一年的时间,自从退出AD管理以来,我一直没有跟上。
damorg

默认情况下,Robocopy也安装在Vista和Windows 7中,也可能安装在其PE对应部件中。
Oskar Duveborn

Robocopy不会仅传输文件的CHANGED部分,因此与rsync相比,具有较小更改的大文件复制速度非常慢。
JustinP'1

4

我在Windows中使用robocopy-Windows Vista和Windows 7中已预装了robocopy,并且可以解决到目前为止我遇到的任何备份情况。


2

我的猜测是它根本没有GUI。对于轻松的同步任务,Microsoft甚至提供了Sync Toy,而rsync可以做更多的事情...


恰好有一个GUI:sepiola.org/en/home 我曾经与Sepiola的开发人员进行过交谈,他们告诉我他们只是围绕rsync制作了GUI。

2
我对此表示反对,因为这表明Windows系统管理员在没有GUI的情况下会丢失。这不是真的。大多数优秀的管理员都可以使用命令行实用程序。
quux 2011年

2

无论如何,Windows都有一个功能完善的rsync,不需要安装Cygwin。我一直在使用它将数据的不同部分备份到不同的驱动器。排除特定目录很有用,但其他实用程序也可能这样做。

内斯特


它仍然使用Cygwin,这意味着它的dll可能会与可能使用Cygwin的其他应用程序混淆。在这种情况下,通常最好安装Cygwin。
dlamblin

2

噢,男孩,你们显然已经错过了“ Unison”实用程序。我一直在支持一些主要的美元/欧元“实时”基础设施,我不得不说每个人都有非常相似的问题...如何复制并始终保持主动-主动-...如果您不在乎关于会话持久性,那么这就是炸弹……我在solaris Extras中发现的最好的东西:-)



0

我相信rsync可以在Windows world的cygwin下使用:) cygwin易于安装和使用,但是对于喜欢GUI的普通用户来说,它并不是很常见。因此我们遇到两个障碍:

1)缺少GUI前端

2)例如,即使在tcl / tk中有一个GUI前端,也需要安装cygwin。

rsync不是要出售自己的专有软件,因此很难在潜在客户面前消除障碍。正如Joel所说:消除一个障碍会使您的用户群增加一倍。因此,这给Windows用户带来了障碍-因此,Windows平台上的用户群很小。


0

我将robocopy用于Windows中类似rsync的行为。

基本上,我写了一个外部驱动器上的backup.bat文件。我定期运行文件以将台式机备份到外部驱动器。然后,我将外部驱动器存储在防火保险箱中。



0

完全相同的原因tarbzip2闻所未闻。它非常不适合Windows。将目录压缩并通过SMB传输它更适合Windows,并且在许多情况下看起来几乎一样快。这不是我实现更美好世界的梦想,但这是努力解决的现实。大多数Windows计算机都没有安装任何Unix层。与Mac OS X不同。


0

开发中有一些更新的rsync guis。我最近通过维基百科碰到的一个是yintersync。作为Windows上rsync的gui,它看起来相当全面,而且还整洁地支持卷影副本以复制实时文件。

我最近在我的工作博士系统上对此进行了测试,结果良好。它具有内置的计划程序和电子邮件报告。这可能有助于rsync最终赶上Windows人群


0

缺少gui并不是真正的问题。xacls,robocopy,net,sc非常有用,并且没有任何GUI。我相信,如果不使用rsync,则更多是由于以下事实:

  1. Windows缺少真正的外壳程序和真正的脚本语言。使用批处理的人也正在使用robocopy。
  2. 从95开始,Windows附带了一个易于使用的图形工具(法语版名为“ Porte document”)。从Windows 2000(或XP?)开始,资源管理器中没有“同步”菜单。

“真实”的定义是?^^
Oskar Duveborn

真正的外壳不仅可以自定义提示,窗口大小或图块,还可以自定义更多内容。它具有完成您想要执行的每项任务的能力(管理用户帐户,调整系统配置等)。真正的脚本语言可以定义环境(您是否曾尝试在多国环境中使用“ date”命令?)并且可以在交互式提示中使用(与vbs / js不同)。
Benoit,2009年

PowerShell满足您的所有要求,自2006年以来已成为Windows的一部分。它与.NET集成,因此在某些情况下,我实际上更喜欢Bash。
詹姆斯,
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.