gsutil rsync 不保留 uid/gid 所有权

问题描述 投票:0回答:2

使用 gsutil -m rsync -p -d -r 时

所有权成为 root

知道如何像 rsync -a 一样运行 gsutil rsync 吗?

谢谢 彼得

google-cloud-storage
2个回答
1
投票

gsutil rsync
目前不支持在云中保留 POSIX 文件属性。

无法保证上传文件的系统上的 uid/gid 在下载文件的系统上也有效。因此(至少现在),您需要手动管理文件权限。


0
投票

gsutil rsync
gsutil cp
现在都支持
-P
参数来保留 posix 属性。来自文档

-P

导致复制对象时保留 POSIX 属性。启用此功能后,gsutil rsync 将复制 stat 提供的字段。它们是所有者的用户 ID、所属组的组 ID、文件的模式(权限)以及文件的访问/修改时间戳。对于下载,只有在启用此标志的情况下上传源对象时才会设置这些属性。

在 Windows 上,此标志只会设置和恢复访问时间和修改时间。这是因为 Windows 没有 POSIX uid/gid/mode 的概念。

文档中没有出现的一个值得一提的警告是,这仅保留 /files/ 的属性,因为 GCS 在技术上不存储目录,因此如果您要恢复目录树,目录的所有者和模式将不会保存下来。

另外,为了完整性,值得一提的是,除了文件存储之外,自定义元数据(即存储 posix 属性的位置)所需的存储也是收费的,因此这将为每个存储的文件增加约 150B。

© www.soinside.com 2019 - 2024. All rights reserved.