Google cloud storage 从Google云存储大容量恢复文件
意外地在错误的bucket上运行delete命令,对象版本控制被打开,但我真的不知道应该采取什么步骤来恢复文件,或者更重要的是,如何批量执行,因为我已经删除了数百个文件Google cloud storage 从Google云存储大容量恢复文件,google-cloud-storage,cloud-storage,Google Cloud Storage,Cloud Storage,意外地在错误的bucket上运行delete命令,对象版本控制被打开,但我真的不知道应该采取什么步骤来恢复文件,或者更重要的是,如何批量执行,因为我已经删除了数百个文件 谢谢你的帮助 要恢复数百个对象,您可以执行以下简单操作: gsutil cp -AR gs://my-bucket gs://my-bucket 这将使用仅复制元数据的方式将所有对象(包括已删除的对象)复制到实时生成中,即不需要复制实际字节。注意事项: 它将保留已删除的代,因此会占用额外的存储空间 如果您的bucket不为空,
谢谢你的帮助 要恢复数百个对象,您可以执行以下简单操作:
gsutil cp -AR gs://my-bucket gs://my-bucket
这将使用仅复制元数据的方式将所有对象(包括已删除的对象)复制到实时生成中,即不需要复制实际字节。注意事项:
这将生成所有对象(包括已删除对象)的列表,并将其转换为一系列gsutil cp命令,以将这些对象(按特定于生成的名称)并行复制回实时生成。如果列表很长,您会希望将其分成多个部分,这样您就不会(例如)尝试使用100k个进程来进行并行复制(这会使您的机器过载)。感谢Mike的深入回答,希望文档能够做到这一点!实际上,当我尝试使用you命令进行并行处理时,`s'命令的RHS错误出现了
sed:-e expression#1,char 35:invalid reference\2。很抱歉,命令中的反斜杠字符被github格式吞没了,因此我不得不对其进行转义。我更新了命令以修复此问题-请重试。cp-AR命令的另一个问题是,它会将所有版本化对象放在名为my bucket
的“文件夹”中,因此您会将所有对象放在gs://my bucket/my bucket