为什么 rsync 没有在 Windows 世界流行起来?

jta*_*ico 97 windows rsync

似乎rsync是 Unix/Linux 中高效文件备份和同步的事实上的标准。

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

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

Sek*_*nre 62

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

  • +1 我不能对此给予足够的支持。DeltaCopy 是我们如何将几个 linux 服务器备份到我们基于 Windows 的备份服务器。Ubuntu 上的 Rsync 直接进入 Windows 上的 DeltaCopy 客户端。 (3认同)

小智 47

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

此外,当 rsync 成为较大应用程序的一部分(例如用于合并和解析日志)或作为自动存档系统(使用 cronjob 轻松实现)时,它确实很出色。Windows 在其生态系统中根本没有其他工具来使使用 rsync 切实可行。

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

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

这是一种表示您想要递归并想要保留几乎所有内容的快捷方式(-H 是一个明显的遗漏)。上述等价的唯一例外是指定 --files-from 时,在这种情况下不暗示 -r。

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

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

Lud*_*erl 11

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

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

  • robocopy 并没有做优化远程副本的事情,这是 rsync 的主要创新。我会说没有点击式 GUI 是不尝试的唯一借口 (4认同)
  • 在 Windows 世界中,处理“远程”文件通常涉及共享远程磁盘,然后执行“本地”文件操作。对于那个 robocopy 就足够了。 (2认同)

Joh*_*nie 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


Sea*_*arp 8

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


jal*_*alf 7

您的普通 Windows 用户会用它什么?

  • 我很少标记回复,我也不打算标记这个,但是 ServerFault 什么时候成为普通 Windows 用户的论坛了?对于系统管理员来说,异地复制变得越来越重要。大公司可能只会购买 DPM 以通过他们的 T3 连接使用。我们谦虚的人需要一些可以在 ADSL 上传速度下工作的东西,而 rsync 可以很好地做到这一点。 (17认同)
  • +1 表示真实 - Windows 用户的备份主要是“将其拖放到单独的/外部硬盘驱动器” (3认同)
  • @John:是的,但人们不会使用 rsync,除非他们知道它存在。rsync 已被用于“典型的”\*nix 用户并且很有用多年,因此任何值得他的盐的 \*nix 系统管理员都知道它。在 Windows 上?没那么多。Windows 是(而且可能更重要的是,*是*针对不同的受众,他们对类似的工具不感兴趣或不使用它。并且由于 Windows 系统管理员通常以 Windows *用户* 开始,因此他们使用的工具是受 Windows *用户* 使用的工具的影响。你混合了两个不同的问题(*为什么*不流行,与*它是否有用*) (3认同)