gsutil列出存储桶中已删除的所有文件

时间:2019-10-29 19:48:35

标签: google-cloud-platform google-cloud-storage ls gsutil

启用对象版本控制后,如何列出存储桶中已删除的所有对象?如果可能的话,我想使用gsutil。

编辑: 似乎没有内置工具可以执行此操作。也许可以通过gsutil和另一个bash工具的组合来做到这一点吗?

当您有大量文件时,列出所有版本的信息太多,并且掩盖了可能要查找的内容:我是否有任何已删除的文件,是否应该将其永久删除或还原?

2 个答案:

答案 0 :(得分:2)

运行gsutil help ls显示-a标志将执行此操作:

  -a          Includes non-current object versions / generations in the listing
              (only useful with a versioning-enabled bucket). If combined with
              -l option also prints metageneration for each listed object.

请注意,这将显示启用版本控制时删除的对象。如果在未启用版本控制的情况下删除了对象,则该对象将被永久删除。

答案 1 :(得分:0)

在GCP中使用对象版本控制时,列出归档对象的唯一documented command是一个列出对象的实时版本和归档版本并查看其世代号的对象,如@mhouglum所述。

gsutil ls -a gs:// [BUCKET_NAME]

但是,还有一些其他标志可以帮助您识别已归档的对象。您可以将-L标志与-a标志一起使用。该命令将为您提供非实时版本的对象的存档时间,而不是实时版本的。 示例:

已归档的对象

enter image description here

活动对象

enter image description here

当对象被永久删除后,您将不再列出该对象,查看此操作删除的唯一方法是访问日志。