从 Google Cloud Storage 复制时排除特定文件或目录

Posted

技术标签:

【中文标题】从 Google Cloud Storage 复制时排除特定文件或目录【英文标题】:Exclude a certain file or directory while copying from a Google Cloud Storage 【发布时间】:2019-10-13 01:38:25 【问题描述】:

我希望将除某个或多个目录(或文件)之外的所有文件从我的 GCS 存储桶复制到我的本地目录。反正我可以这样做吗?

例如: 我的 GCS 存储桶名为 so-bucket 有三个文件夹 dir1dir2dir3file1file2。我想将存储桶中除dir3 之外的所有文件和目录复制到我的本地目录。

通常我会执行gsutil -m cp -r gs://so-bucket/* .,然后删除dir3 文件夹。

【问题讨论】:

【参考方案1】:

您可以使用gsutil rsync 命令和-x 选项来排除某些对象。类似的东西:

gsutil -m rsync -r -x '^dir3/*' gs://so-bucket .

应该检索位于存储桶上的所有对象,以dir3 开头的对象除外(在您的示例中,文件不在dir3 目录中)。

【讨论】:

以上是关于从 Google Cloud Storage 复制时排除特定文件或目录的主要内容,如果未能解决你的问题,请参考以下文章

从 Google Cloud Storage 复制时排除特定文件或目录

如何将 Google Cloud Storage Bucket 从项目复制到项目?

如何将文件从加密的 S3 存储桶复制到 Google Cloud Storage?

如何使用 gsutil 将所有文件和子文件夹从当前目录复制/移动到 Google Cloud Storage 存储桶

如何在使用 gsutil 保留 ACL 的同时将文件从 Google Cloud Storage 存储桶 1 复制到存储桶 2

从 AWS S3 转移到 Google-Cloud-Storage “未知”失败