找回密码
 立即注册
查看: 3865|回复: 4

[软件] syncthing不懂移动文件是bug吗?

[复制链接]
     
发表于 2024-2-7 19:40 | 显示全部楼层 |阅读模式
版本v1.27.3, Linux (64-bit Intel/AMD)

1.两台机器/sync/A目录已同步完成
2.在A机器上操作文件夹,将  /sync/A/a/01  移动改名成  /sync/A/b
3.B机器上出现的同步结果是:删除了/sync/A/a/01;从A机器上重新下载/sync/A/b

正常来说不是应该和A机器一样将目录移动过去的吗?
回复

使用道具 举报

发表于 2024-2-7 20:06 | 显示全部楼层
不熟syncthing,但正常来说不是"应该和A机器一样将目录移动过去的",比如rsync不用一些技巧也是删除和新建,除非你的同步软件有什么办法监视移动操作,或是同步端使用了什么算法提示新同步的文件已存在
回复

使用道具 举报

     
发表于 2024-2-7 22:40 | 显示全部楼层
他只知道这里多了个文件那里少了个文件,并不知道这里多的就是那里少的那个
回复

使用道具 举报

     
发表于 2024-2-7 22:54 来自手机 | 显示全部楼层
这不是正常同步了?没啥bug吧
回复

使用道具 举报

     
发表于 2024-2-8 10:06 来自手机 | 显示全部楼层
你这有点强人所难了

—— 来自 Google Pixel 8 Pro, Android 14上的 S1Next-鹅版 v2.5.4
回复

使用道具 举报

     
发表于 2024-2-8 13:37 来自手机 | 显示全部楼层
Nextcloud可以,但代价是每个同步文件夹都创建一个sqlite数据库存文件名、大小和哈希,移动以后会本地比较两个文件是否相同
回复

使用道具 举报

     
 楼主| 发表于 2025-1-12 21:30 | 显示全部楼层
差不多一年了,终于搞懂了syncthing这个傻吊bug

首先结论是,syncthing正常情况下是懂移动文件的,然而:

当你大量移动/重命名文件的时候会触发syncthing的重新扫描,当syncthing重新扫描*途中*你如果有对其他文件操作,那么这些文件就全被当作是新文件要重新传

举个例子,A文件夹有100个文件,你将这100个文件重命名或者修改A文件夹的名字就会触发syncthing的重新扫描
如果你没等syncthing扫描完成就去改名B文件夹里面的50个文件,那么这50个文件就需要重新传
如果你等syncthing扫描完成了并且同步完成了后再做以上操作,那么远端就只会重命名而不会重新传
回复

使用道具 举报

     
发表于 2025-1-12 22:50 来自手机 | 显示全部楼层
转个人免费的resilio sync呢

—— 来自 鹅球 v3.3.96
回复

使用道具 举报

     
发表于 2025-1-13 07:31 来自手机 | 显示全部楼层
moondigi 发表于 2025-1-12 21:30
差不多一年了,终于搞懂了syncthing这个傻吊bug

首先结论是,syncthing正常情况下是懂移动文件的,然而:

那么有办法控制重新扫描的频率,或暂停重新扫描吗
回复

使用道具 举报

     
 楼主| 发表于 2025-1-13 07:49 来自手机 | 显示全部楼层
conanlm 发表于 2025-1-13 07:31
那么有办法控制重新扫描的频率,或暂停重新扫描吗

syncthing是用inotify监控文件更改的,可以取消只启用定时扫描但是这样平时体验不好

目前的解决办法是如果有大量修改,在本地的服务界面上将远端设备暂停,本地一通操作后等待左边目录扫描完成,当目录上显示最新后再取消远端暂停
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2025-4-21 23:46 , Processed in 0.043452 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表