吐槽: 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 下同步文件夹都用什么?总不至于都是各自造的轮子吧?简直了
11690 次点击
所在节点    Windows
92 条回复
fatigue
2022-06-12 21:30:36 +08:00
用 wsl 就行了,
Linux:xxx 工具真好用!
Win: 拿来吧你!
Osk
2022-06-12 21:38:03 +08:00
方法 1:Windows 资源管理器再复制一遍, 到最后的时候, 会提示文件已存在, 勾选 “跳过相同时间和大小的文件”, 解决.


方法 2:
robocopy /mir /z src dst

/z: 中断后可续传
/mir : 镜像 src 文件目录树到 dst, 注意此选项会删除 dst 中多余的文件!
其他选项: 日志文件, 重试次数, 重试前等待等.

robocopy 的问题在于, 官方文档没有说明默认情况下判定相同文件的逻辑, 网友们实测的逻辑是: 文件若有相同的修改时间和大小则认为是一样的, 会自动跳过.



所以, 也许一开始就不该用 Linux 的想法考虑, 走偏啦.🤣
ilylx2008
2022-06-12 21:42:01 +08:00
rsync 有 win 版本

不过还是 wsl 里方便
exip
2022-06-12 21:42:49 +08:00
有个 cwrsync 可以用
cpstar
2022-06-12 21:43:30 +08:00
感觉非得在 windows 系统上拧巴 linux 的东西。
windows 的复制粘贴虽然不好用,但是带着文件校验等各种东西,稳妥。复制粘贴,外加新版本的跳过,完全没有问题,印象上新版本也具有断点恢复的能力。或者就谨慎态度,一个目录一个目录或者几个几个地分头弄。
啥,你用的 windows7 ?好吧,还好不是 xp ,还好不是 2k ,还好不是 98 。。。
sidkang
2022-06-12 21:44:44 +08:00
= =Wi-Fi 抽疯,WIN:这锅我不背
Yadomin
2022-06-12 21:45:01 +08:00
PS> choco search rsync
Chocolatey v1.1.0
rsync 6.2.4 [Approved]
dirsyncpro 1.53 [Approved] Downloads cached for licensed users
2 packages found.
xJogger
2022-06-12 21:50:11 +08:00
命令行:rclone
客户端:Syncbackfree
订阅制:GoodSync
kennir
2022-06-12 21:50:35 +08:00
total commender, 切换到 mac 后十几年了 mac 上也没个像样的仿品出来
12101111
2022-06-12 21:54:04 +08:00
你猜微软为什么内置 ssh 不内置 rsync, 因为 ssh 全称 OpenSSH, 是 OpenBSD 做的
https://github.com/openbsd/src/blob/master/usr.bin/ssh/LICENCE
OpenSSH contains no GPL code.
而 rsync 呢
https://github.com/WayneD/rsync/blob/master/COPYING
GNU GENERAL PUBLIC LICENSE
Version 3

微软要死敢内置这个, 第二天 FSF 就得让整个 Windows 开源

OpenBSD 搞了一个 OpenRsync, 说不定可以内置进 Windows
https://www.openrsync.org/
Buges
2022-06-12 21:54:05 +08:00
我记得有个通过 cygwin 兼容层运行的 rsync 可以用。
MasterMonkey
2022-06-12 21:55:37 +08:00
mobaxterm 你值得拥有
dcsuibian
2022-06-12 22:00:01 +08:00
不要用 Unix/Linux 的思想去操作 Windows ,会很难受的。

话说为啥不把硬盘插电脑上直接烤?
qiubangzhu
2022-06-12 22:39:31 +08:00
@v2tudnew syncthing 端口是多少 是不是要做端口映射才可以
celeron533
2022-06-12 22:54:02 +08:00
robocopy 就行了
flynaj
2022-06-12 23:02:52 +08:00
syncthing 全平台同步,要用 rsync wsl1
yfugibr
2022-06-12 23:09:45 +08:00
有一个 cygwin 的版本,但是我尝试的时候发现文件权限会出问题,就放弃了

也用过 robocopy ,但是在备份一个大文件夹时多次导致部分源文件丢失,没找到原因,也放弃了

现在备份文件用的 wsl1 里的 rsync ,不怎么舒服,但没更好的方案(需求特殊,自己写的备份脚本),也只能凑合用
fuis
2022-06-12 23:12:28 +08:00
用 rclone 就好了
mmtromsb456
2022-06-12 23:18:12 +08:00
推荐使用 rclone bisync,配合 sftp 后端使用即可
ClericPy
2022-06-12 23:52:49 +08:00
呃... 有没有一种可能, 我有个固态移动硬盘...

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

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

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

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

© 2021 V2EX