如何防止删除谷歌云存储桶中的某个文件夹



我正在通过Gitlab CI将一些文件部署到Google Cloud中的Bucket中。我用来删除对象的命令是gsutil -m rm gs://pr.homefront.com

该命令从bucket中删除所有内容,但我想将其更改为仍然删除除名为"的文件夹之外的所有内容;ibw";每次运行命令时都会在该bucket中。

您可以在文件夹中为对象添加临时保留,这可以防止对该对象的操作或删除

您可以通过以下gsutil命令应用hold:

gsutil -m  retention temp set  gs://bucketname/ibw/*******

*每个星号都是一个文件夹级别

可以在rm命令之前设置holds,在rm命令之后取消设置。在移除保留之前,不能修改或移除对象

更新:

可以将保留添加到空文件夹

  1. 我通过云控制台创建了一个空文件夹
  2. 我运行以下命令以避免删除空文件夹
#this block the empty folder, if this is an folder with files all files will be blocked
gsutil -m  retention temp set  gs://bucketname/ibw/*******
#this operation can't remove objects,and empty folders with holds
gsutil -m rm gs://bucketname
#remove the hold of the empty folder, if this is an folder with files all files will be released
gsutil -m  retention temp release  gs://bucketname/ibw/*******

最新更新