我正在实施bash脚本,将我的TimeMachine中的所有备份文件夹同步到同一本地网络中的NAS存储。 rsync完成后,我尝试从NAS返回到我的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天,如果有人能为此提供一个好的建议,我们将不胜感激。
答案 0 :(得分:0)
在“长格式”部分中查看man page for ls
:
如果文件或目录具有扩展属性,则具有权限 由-l选项打印的字段后跟一个'@'字符。
该目录还将具有访问控制列表(通常用“+”表示,但“@”优先)。
您可以使用ls -l@e
查看扩展属性和ACL。但是你可能无法在NAS上复制它们 - 存储各种元数据的能力取决于文件系统,除非NAS使用Mac OS Extended(又名HFS +)文件系统,否则它可能不支持它们(至少直接)。但是它们可能正在被保存 - 如果您使用rsync -E
它可能将它们存储在单独的元数据文件中,文件名上带有“._”前缀。但这取决于你究竟如何使用rsync,NAS上的内容等等。
我不确定ACL对Time Machine备份有多重要(我认为它们主要是为了防止人们搞乱备份系统的结构),但扩展属性似乎非常重要。如果您希望能够以TM可以使用它的形式恢复TM备份,则需要它们。
但实际上还有另一个问题:Time Machine使用硬链接目录,我不认为除Mac OS Extended之外的许多(任何?)文件系统都支持这些。这......可能会造成麻烦。