近线 - 备份解决方案 - 版本控制

时间:2018-02-08 21:49:24

标签: google-cloud-storage

我已经设置了一些Nearline存储桶并启用了版本控制和对象生命周期管理。用例是替换我当前的备份解决方案Crashplan。

使用gsutil我可以使用gsutil ls -al gs://backup/test.txt之类的命令查看文件的不同版本。

首先,是否有任何方法可以找到不具有实时版本(例如已删除)但仍附带版本的文件?

其次,有没有更简单的方法来管理版本?例如,如果我从我的PC中删除一个文件,它将不再在我的存储桶中有一个实时版本,但仍然会关联旧版本。比如说,如果我不知道文件名,我只需要对整个存储桶执行递归ls并筛选输出?

非常喜欢支持版本控制的用户界面。

感谢。

1 个答案:

答案 0 :(得分:0)

  1. 要检查对象当前是否没有生命版本,请使用x-goog-if-generation-match标题等于0,例如:

    gsutil -h x-goog-if-generation-match:0 cp file.txt gs://bucket/file.txt

  2. 如果文件具有实时版本,

    将失败(PreconditionException: 412 Precondition Failed),如果文件只有存档版本,则会失败。

    1. 为了自动同步存储桶中的本地文件夹和文件夹(或其他方式),请使用gcloud rsync

      gcloud rsync -r -d ./test gs:// bucket / test /

      • 注意/中的结尾gs://bucket/test/,如果没有它,您将收到
    2.   

      CommandException:arg(gs:// graham-dest / test)没有命名目录,存储桶或存储桶子目录。

      • -r以递归方式将./test中的所有目录同步到gs:// bucket / test /`

      • -d将删除gs:// bucket / test / that are not found in中的所有文件./test`

      关于用户界面,已经存在future request。但是,我对第三方应用程序一无所知。