为什么 rsync 总是将所有文件夹标记为已更改?

为什么 rsync 总是将所有文件夹标记为已更改?

我在 macOS Ventura 上使用 rsync 3.2.7 在 NAS 和外部硬盘驱动器之间同步文件。

当我跑步时

rsync -avP --delete /Volumes/NAS/photos /Volumes/EXTERNAL_DRIVE

rsync 将所有文件夹和子文件夹标记为已更改,尽管它们并未更改。仅适用于文件,它按预期工作。当我再次运行相同的命令时,所有文件夹和子文件夹再次被检测为已更改。

我比较 ls 输出:

drwxrwxrwx  1 user  staff  131072 24 Apr 16:53 MyAlbum42      <-- On NAS
drwx------  1 user  staff   16384 24 Apr 16:53 MyAlbum42      <-- On EXTERNAL_DRIVE

看来该-a标志被忽略,因为它还包含-p(保留权限)。

输出mount | grep -F /Volumes

/dev/disk1s1 on /System/Volumes/NAS (apfs, local, journaled, nobrowse)
/dev/disk2s1 on /Volumes/EXTERNAL_DRIVE (exfat, local, nodev, nosuid, noowners)

我在这里缺少什么?

答案1

您在外部磁盘上使用的 exFAT 文件系统无法与您在 NAS 磁盘上拥有的 APFS 文件权限匹配。

您可以重新格式化外部磁盘或接受这种情况。如果将磁盘重新格式化为 APFS,您将丢失所有现有数据,但今后您将具有完全的本地兼容性。您将失去与 Windows 系统的互操作性,因为它们无法读取 APFS 文件系统,但这对您来说可能不是问题。

相关内容