You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac下rsync启用--update参数仍重复复制未改动文件到外接磁盘的问题咨询

Mac平台rsync重复识别无改动目录的同步异常

问题场景

  • 日常操作目标为通过rsync备份本地用户账户数据,执行的基础命令为:rsync -aXuv --filter='dir-merge /.rsync-filterAll' . /Volumes/externalDisk
  • 外接备份磁盘同时承担双Mac设备内容同步、日常数据留存的双重功能,实际执行同步前会增加-n(即--dry-run)参数做预检,确认待同步内容是否符合预期。

异常表现

  • 重复执行rsync命令时,多份无内容改动的文件仍被判定为需要重复备份,持续出现在同步列表中
  • 典型异常场景为多年未运行的开发中应用对应的.app包内Contents目录:rsync执行输出仅列出该目录本身,不会展示目录内部的具体文件同步动作
  • 针对被rsync误判为需要备份的目录,已通过ls -l命令对比本地、外接备份盘上同路径的目录属性参数,未发现任何可见差异,无法定位rsync识别到的未观测区别
  • 为明确rsync判定目录需要备份的原因,已尝试调整日志参数获取更细粒度的执行信息:
    • 叠加多个-v参数提高日志输出详细度
    • 增加-i参数获取逐文件的更新判定明细
      但始终没有输出对应判定逻辑的相关说明
  • 上述重复识别未改动文件的问题,导致dry-run预检结果包含大量冗余噪音,大幅提升了有效同步内容的识别成本。

定位与解决方法

1. 用增强版itemize参数获取精确的变更判定依据

普通-i参数的输出信息密度不足,直接执行带-ii的dry-run命令,即可输出rsync判定目录变更的具体字段:
rsync -aXuvn --filter='dir-merge /.rsync-filterAll' -ii . /Volumes/externalDisk
输出的变更标识为固定格式的短字符串,不同位置的字符对应不同的校验项差异:

  • 首位标识:d 代表判定对象为目录,> 代表对象为文件
  • 后续位置依次对应权限位、属主、属组、硬链接关系、修改时间、扩展属性、文件内容校验和的匹配状态,可直接定位rsync判定变更的具体原因

2. 适配外接磁盘格式调整同步参数

Mac自带rsync对非APFS/HFS+格式的外接盘(如exFAT、FAT32)存在已知兼容问题:

  • 这类磁盘原生不支持POSIX权限位、UNIX属主、系统扩展属性,和本地APFS磁盘的属性模型存在底层差异
  • 原命令中包含的-a(隐含权限、属主保留逻辑)、-X(扩展属性保留逻辑),会让rsync每次校验时都判定两边属性不匹配,但因磁盘不支持写入对应属性,不会实际触发目录内文件的复制动作,最终表现为仅列出目录、无内部文件更新的输出
  • 对应参数调整(适用于exFAT格式外接盘):
    去掉与磁盘特性不兼容的参数,替换为适配的同步规则:
    rsync -rtuvn --modify-window=1 --filter='dir-merge /.rsync-filterAll' . /Volumes/externalDisk
    移除-a中不兼容的属主、属组、权限位保留逻辑,关闭扩展属性同步,增加--modify-window=1解决FAT类磁盘时间戳精度不一致导致的误判。

3. 统一rsync版本消除校验逻辑差异

Mac自带的开源rsync为2.6.9旧版本,与新版rsync(3.x系列)的目录校验算法存在不兼容问题:

  • 如果备份盘上的部分目录是通过新版rsync同步写入的,旧版rsync遍历这类目录时,会因校验算法差异重复判定目录需要更新,且不会展开内部文件的明细输出
  • 对应调整:统一两端执行rsync的大版本,要么全部使用系统自带的2.6.9版本,要么全部使用同版本的3.x新版rsync执行同步操作。

4. 排查dir-merge过滤规则的稳定性影响

dir-merge /.rsync-filterAll规则的作用是遍历到每个目录时,读取对应路径下的过滤规则文件,只要过滤规则的判定结果发生变化,就会将整个目录标记为需要重建:

  • 如果rsync遍历过程中因路径解析差异,对过滤规则的判定结果不稳定,就会出现仅列出目录、不展开内部文件的输出特征
  • 对应排查:临时替换为固定路径的过滤规则文件,观察重复判定问题是否消失,确认规则解析逻辑的稳定性。

内容的提问来源于stack exchange,提问作者user3308886

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.26 08:57:04