吐槽: Windows 竟然没有 rsync...

2022-06-12 19:57:00 +08:00
 darklinden
今天终于闲了会儿,突发奇想把媳妇闲置很久的本子拿来折腾。
为了不挨打先备份资料,把闲置很久的小米硬盘路由拎出来挂了个 smb ,然后 Windows 下挂载网络磁盘
复制粘贴简直要命,中间 wifi 抽风断了下,40g 的文件夹复制了 20g 过去,看着就蛋疼
掏出 powershell ,rsync ,命令不认识,掏出 mingw64 ,rsync 不认识,网上一查,各种收费版,一个 power shell 版的 github 上 10 年前的,装了还报错...
于是装个 python 然后写个遍历文件夹判断大小不同重新复制

Windows 下同步文件夹都用什么?总不至于都是各自造的轮子吧?简直了
11747 次点击
所在节点    Windows
92 条回复
seanzxx
2022-06-13 00:21:02 +08:00
用 Windows 的话,你就再复制一次呀,如果一个文件已经存在,他会提示你是要覆盖还是要跳过,也可以跳过所有存在的文件,你直接选跳过所有文件就好了,不用 rsync ,也不用 python 去写个小工具
sulfoh6
2022-06-13 00:55:29 +08:00
Freefilesync +1
hxy100
2022-06-13 01:06:35 +08:00
Cygwin 或者 Msys2 有 rsync 可以用,性能马马虎虎,WSL 也可以安装 rsync ( WSL2 往 Windows 磁盘读写文件速度略慢,指往 /mnt/下读写),本人常年在 Cygwin 下使用 rsync ,并无任何不适;

documentzhangx66
2022-06-13 01:28:19 +08:00
楼上这些神童们,居然还有人推 syncthing 这种大雷...

1.Windows 在高速健康环境下,第一反应的确应该是 SMB ,因为方便。

2.但如果环境不健康,比如会经过高损坏风险的 U 盘、移动硬盘、非 ECC 或 RECC 内存,应该使用 WinRAR + 恢复记录 + 恢复卷,或者类似的带有检验功能的方案。

3.如果传输环境是容易断网或失败的情况,专业一点的做法是带自动恢复的 VPN 通道 + 接收端开 FTP 服务 + 发送端使用专门的能自动恢复传输的 FTP 客户端。更专业一点用 Sync Back Pro 来充当 FTP 客户端,并且勾选传输后验证。
documentzhangx66
2022-06-13 01:29:37 +08:00
另外,大文件传输,尽量别用 WIFI ,无论设备有多贵,无论协议是否最新。老老实实走有线。
v2tudnew
2022-06-13 01:34:44 +08:00
@qiubangzhu #34 默认会用 UPNP 自动映射,你也可以手动映射 22000 TCP/UDP 端口,可以更改端口( NAT 转发时内外端口必须一致)。


@documentzhangx66 #44 啊对对对,你好棒棒哦。
yaoyao1128
2022-06-13 03:02:11 +08:00
@documentzhangx66 syncthing 我感觉不算雷……不过前提是打开阶段性文件版本……至于校验并不适合实时同步而是适合冷备份……
@fatigue 同意 并且针对 server 系统需要付比 desktop 高 n 倍费用的软件也可以用 wsl 曲线救国……

@darklinden syncthing 如果有内网固定 IP 可以指定一下 正常情况下内网会自动,如果特别慢打洞了看下 windows 的防火墙……
mingl0280
2022-06-13 04:09:34 +08:00
1. Robocopy+Windows 共享
2. WSL1 随便用 rsync
Eytoyes
2022-06-13 07:28:56 +08:00
fastcopy 同步过 50T 的数据
crab
2022-06-13 07:29:02 +08:00
一直用 robocopy 递增备份
xinshidai
2022-06-13 08:13:11 +08:00
我昨天刚用 msys2 中的 rsync 同步 centos 的仓库.
slrey
2022-06-13 08:22:04 +08:00
windows 就要用 robocopy 啊
cat9life
2022-06-13 08:23:05 +08:00
robocopy 或者 xcopy 都能达到你的要求
bsfmig
2022-06-13 08:48:48 +08:00
@12101111 也未必,微软可以把 rsync 作为一个单独的 exe 模块放进去组成一个“系统”,按 GNU 的定义这并不会导致系统的其他部分被迫开源,因为其他部分并不依赖 rsync 。其实这也是 Android 整合 Linux kernel 的做法。
encro
2022-06-13 08:59:47 +08:00
Windows 也有 FileSystemWatcher ,相当于 inotify 。实现同步也不太难。
kokutou
2022-06-13 09:03:39 +08:00
msys2 里面有 rsync 啊

vopsoft
2022-06-13 09:27:25 +08:00
windows 有 robocopy 这个速度无敌
610915518
2022-06-13 09:41:56 +08:00
可以看一下我写的教程,如何在 Windows 上使用 Rsync

https://acbetter.com/posts/use-rsync-by-git-bash-on-windows/
gogogo1203
2022-06-13 09:47:11 +08:00
谁跟你说 windows 没有 rsync? https://prasaz.medium.com/add-rsync-to-windows-git-bash-f42736bae1b3 git bash 里装 rsync, 在 vscode 里直接用。
scegg
2022-06-13 09:50:08 +08:00
1996 年之前用 xcopy ,之后 robocopy 替代了前者。

另外根据 wikipedia 信息,使用 rsync 且支持 windows 的软件有:
BackupAssist
cwRsync
Grsync (免费)
GS RichCopy 360
LuckyBackup (免费)
rclone (免费)
Syncrify
tym (米阿尼分)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/859114

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX