不小心在错误的存储桶上运行删除命令,对象版本控制已打开,但我真的不明白我应该采取哪些步骤来恢复文件,或者更重要的是,如何批量执行,因为我已经删除了数百个其中。
将不胜感激任何帮助。
最佳答案
要恢复数百个对象,您可以执行以下简单操作:
gsutil cp -AR gs://my-bucket gs://my-bucket
这将使用仅元数据复制将所有对象(包括已删除的对象)复制到实时生成,即不需要复制实际字节。注意事项:
gsutil ls -a gs://my-bucket/** | sed 's/\(.\)\(#[0-9]\)/gsutil cp\1\2\1\&/' > gsutil_script.sh
这会生成所有对象(包括已删除的对象)的列表,并将其转换为一系列 gsutil cp 命令,以将这些对象(按代特定的名称)并行复制回实时代。如果列表很长,你会想要分成几部分,这样你就不会(例如)尝试 fork 100k 个进程来进行并行复制(这会使你的机器过载)。
关于google-cloud-storage - 从 Google Cloud Storage 批量恢复文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43278683/