从TimeMachine备份到NAS的Rsync没有同步确切的文件默认

时间:2017-05-19 03:42:49

标签: bash macos file-permissions rsync timemachine

我正在实施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天,如果有人能为此提供一个好的建议,我们将不胜感激。

1 个答案:

答案 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之外的许多(任何?)文件系统都支持这些。这......可能会造成麻烦。