2017-05-19 85 views
0

我正在实现bash脚本,以将我的TimeMachine中的所有备份文件夹同步到同一本地网络中的NAS存储。 rsync完成后,我尝试从NAS到我的TimeMachine进行rsync同步,但失败。该错误消息如下:来自TimeMachine的Rsync备份到NAS没有同步准确的文件穿孔

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) 

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

TimaMachine备份:

[email protected] 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

检查man page for ls,“长格式”一节中:

如果文件或目录已经扩展属性的权限 场由-l选项打印后跟一个“@”字符。

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

您可以使用ls [email protected]查看扩展属性和ACL。但是你可能无法在NAS上复制它们 - 存储各种元数据的能力依赖于文件系统,除非NAS使用Mac OS Extended(又名HFS +)文件系统,否则它可能不支持它们(至少直接)。但是他们可能会被保存 - 如果你使用rsync -E它可能可能将它们存储在一个单独的元数据文件中,在文件名中带有一个“._”前缀。但这将取决于你如何使用rsync,NAS上有什么,等等。

我不知道ACL对于Time Machine备份有多么重要(我认为他们主要是为了让人们从搞乱备份系统的结构),但扩展属性似乎非常重要。如果您希望能够以TM可以使用的形式获得TM备份,则需要它们。

但实际上还有另外一个问题:Time Machine使用硬链接目录,我不认为Mac OS Extended以外的许多(任何?)文件系统都支持这些目录。这...可能会造成麻烦。

+0

嗨,戈登,谢谢你的建议。试过从我的最后,我认为根本原因是我的NAS中的rsync版本太旧(3.0.7),它不支持ACL和扩展属性。我试图更新NAS中的rsync版本,但似乎没有安装yum。有没有其他方法可以将我的rsync更新到最新版本? –