似乎rsync是 Unix/Linux 中高效文件备份和同步的事实上的标准。
有没有人对为什么它不会在 Windows 世界中流行有任何想法?
为什么它没有成为文件同步的通用“协议”?
小智 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 用户通常希望,窗口和菜单,并且让单个应用程序成为一个多合一的解决方案,而不仅仅是工具链的一个独立部分。
Lud*_*erl 11
在我看来,因为没有像样的 GUI。
另一个论点可能是存在robocopy。Robocopy 缺少 rsync 提供的许多很酷的功能,但在大多数情况下,robocopy 仅适用于手头的工作。
我广泛使用 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
我想说的是,对于较小的计算机到计算机的同步,人们正在使用Robocopy、SyncToy或Foldershare(现在是 Live Sync)。对于大型企业分布式多主文件共享方案,他们使用分布式文件系统 (DFS)。这些工具可以很好地处理大多数同步场景,在 Windows 上安装、学习和使用重新编译的 *nix 应用程序几乎没有什么好处。
您的普通 Windows 用户会用它做什么?