0

我正在实施 bash 脚本以将 TimeMachine 中的所有备份文件夹同步到同一本地网络中的 NAS 存储。rsync 完成后,我尝试从 NAS rsync 回我的 TimeMachine,但失败了。错误信息如下:

    rsync: delete_file: unlink 
    "/Volumes/TimeMachine/Backups.backupdb/kongycmac/2017-05-16-
    120657/Mac OS/usr/share/man/mann/S3.n" failed: Operation not 
    permitted (1)

在进一步检查文件权限后,我发现我在TimeMachine中的备份文件夹和NAS中的备份文件夹的文件权限是不同的,如下:

TimaMachine 备份:

    drwxr-xr-x@  4 root  wheel  136 May 16 12:06 kongycmac

NAS 备份:

    drwxr-xr-x    4 root     root          4096 May 12 17:37 2017-05-
    12-173741

TimeMachine Backup 文件夹中的“@”是什么意思?我应该怎么做才能将我在 NAS 备份中的文件夹权限更改为 drwxr-xr-x@ ?

在这个问题上挠了3天,如果有人可以为此提供一个好的建议,不胜感激。

4

1 回答 1

0

在“长格式”部分查看手册页ls

如果文件或目录具有扩展属性,则 -l 选项打印的权限字段后跟一个“@”字符。

该目录还将有一个访问控制列表(通常用“+”表示,但“@”优先)。

您可以使用 来查看扩展属性和 ACL ls -l@e。但是您可能无法在 NAS 上复制它们——存储各种元数据的能力取决于文件系统,除非 NAS 使用 Mac OS 扩展(又名 HFS+)文件系统,否则它可能不支持它们(至少直接)。但它们可能无论如何都会被保存——如果你使用rsync -E它,可能会将它们存储在一个单独的元数据文件中,文件名上带有“._”前缀。但这完全取决于您使用 rsync 的方式、NAS 上的内容等。

我不确定 ACL 对于 Time Machine 备份有多重要(我认为它们主要是为了防止人们弄乱备份系统的结构),但扩展属性似乎非常重要。如果您希望能够以 TM 可以使用的形式取回 TM 备份,则需要它们。

但实际上还有另一个问题:Time Machine 使用硬链接目录,而且我认为除了 Mac OS Extended 之外没有很多(任何?)文件系统支持这些。这……可能会带来麻烦。

于 2017-05-19T04:55:39.877 回答