【问题标题】:Syncing files between projects/buckets in Google Cloud Storage在 Google Cloud Storage 中的项目/存储桶之间同步文件
【发布时间】:2019-11-30 11:00:55
【问题描述】:

我正在尝试在 Google Cloud 上的两个项目和两个存储桶之间同步文件。

但是,我只想复制不在A 中但不在B(目标)中的文件。可以覆盖AB 中的文件(首选)。

当我执行以下操作时:

  • 在我的存储桶中,我创建了一个文件夹test 并添加了文件夹A,其中包含file-1
  • 我运行以下命令:gsutil cp -r gs://from-project.appspot.com/test gs://to-project.appspot.com/test2

这很好用,我在我的项目存储桶中的文件夹 test2 中有文件夹 A

那么问题就出现了:

  • 我添加了一个文件夹B 并在文件夹A 中删除了file-1 并添加了file-2(测试文件的概念在A 中,但不在B 中)。
  • 但是,当我运行相同的命令时,我没有得到只有 file-2 被复制并且我有一个额外的文件夹 B,但是我在 test2 中获得了一个名为 test 的新文件夹,其中我在a 中找到AB 但没有file-1(基本上是新情况的复制品)。

为什么会发生这种情况以及如何防止这种情况以启用同步?

【问题讨论】:

    标签: google-cloud-platform google-cloud-storage gcloud


    【解决方案1】:

    gsutil rsync命令优先同步两个桶的内容。

    您可以使用-d 选项删除目标存储桶下未在源存储桶下找到的文件。不过要小心,因为它可以删除目标存储桶中的文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-05
      • 2018-06-18
      • 2017-11-29
      • 2014-03-02
      • 2020-12-08
      • 2017-10-03
      • 1970-01-01
      相关资源
      最近更新 更多