【问题标题】:Rsync from TimeMachine Backups to NAS didn't sync the exact file permimssion从 Time Machine 备份到 NAS 的 Rsync 未同步确切的文件权限
【发布时间】:2017-10-19 01:17:55
【问题描述】:

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

【问题讨论】:

    标签: bash macos file-permissions rsync timemachine


    【解决方案1】:

    在“长格式”部分检查man page for ls

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

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

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

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

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

    【讨论】:

    • 嗨,戈登,感谢您的建议。从我的角度尝试,我相信根本原因是我在 NAS 中的 rsync 版本太旧(3.0.7),不支持 ACL 和扩展属性。我尝试更新 NAS 中的 rsync 版本,但似乎也没有安装 yum。有没有其他方法可以将我的 rsync 更新到最新版本?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 2011-11-23
    • 1970-01-01
    • 2017-12-16
    • 1970-01-01
    • 2015-06-21
    • 1970-01-01
    相关资源
    最近更新 更多