如何解决删除gcs冗余gcs存储桶
我正在尝试清理我的GCS存储,该存储具有每天创建的3年以上的冗余存储桶。因为不再需要其中的几个。我正在尝试喜欢
gsutil -l | grep 'gs://bucket-name-.*' | gsutil rb -f
这是正确的方法吗?
解决方法
gsutil rb
command用于删除存储桶,尽管要求存储桶为空才能成功删除。
要删除存储桶及其所有内容,请将gsutil rm
command与-r
选项一起使用。在存储桶上运行gsutil rm -r将删除存储桶中所有对象的所有版本,然后删除存储桶:
gsutil rm -r gs://bucket
还要注意,要删除存储桶中的大量对象,使用gsutil需要很长时间才能完成。建议使用Cloud Console。 您可以在Deleting Best Practices文档中找到更多详细信息。
希望这对您有所帮助。
,假设您的存储桶为空,则rb标志将可以删除存储桶,并且您需要使用ls标志列出与您的项目关联的存储桶(我假设-我的旗帜是错字)。
请注意,如果存储桶中仍然有对象,则需要重新使用gsutil rm -r gs://BUCKET_NAME,因为使用rb
标志需要清空存储桶。
您的脚本缺少将存储桶名称传递给gsutil rb -f
命令的方法。例如。假设您有一个名为gs://my-cool-bucket
的存储桶,以下命令将反映您要实现的目标(考虑到my-cool-bucket
不为空):
gsutil ls | grep 'gs://my-cool-bucket' | xargs gsutil rm -r
如果您有兴趣探索使用bash传递命令时将上一个命令的输出作为下一个命令的参数传递给下一个命令的其他方法,则社区中的以下post会很有用。
在使用自动化删除存储桶和存储桶中的对象时要非常小心,因为删除后对象和存储桶均无法恢复。如果要删除具有大量对象的存储桶,建议使用Cloud Console而不是使用gsutil
或任何自动化源。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。