LoginSignup
7
8

More than 5 years have passed since last update.

S3 Glacierアーカイブをフォルダごと復元

Last updated at Posted at 2015-11-21

一度Glacierアーカイブ化したS3オブジェクトを階層を追いながらWeb上の画面から復元していくのはけっこう辛い。コマンドラインから一気に復元実行できると良い。

方法

公式の aws-cli とは別に、非公式の s3cmd というツールがあり、これを用いるととても楽である。

s3cmd インストール・設定

$ sudo yum -y install s3cmd
$ s3cmd --configure
…
Access Key: xxxxxx ← 入力
Secret Key: xxxxxx ← 入力
…
Save settings? [y/N] y ← 入力

s3cmd によるフォルダまるごと復元

以下のようにすれば folder1 配下をまるごと復元してくれる。(有効期限3日)

$ s3cmd restore --recursive --restore-days=3 s3://bucket-name/folder1/

以下のようにすればバケットまるごと復元してくれる。(有効期限3日)

$ s3cmd restore --recursive --restore-days=3 s3://bucket-name/

s3cmd によるフォルダまるごとダウンロード

復元が完了したら、以下のようなコマンドでフォルダまるごとダウンロードできる

$ s3cmd get -r s3://bucket-name/folder1/ .

s3cmd による再帰的復元が途中で中断される場合

既に復元を開始しているアイテムが1個でもフォルダ内に含まれていると、「Object restore is already in progress」というエラーとなり、フォルダまるごとの復元が中断されるようでした。
以下プルリクエストにて該当エラーをスキップする処理を入れてみたので、同様の問題で困った場合には試してみると良いです。

参考

7
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
8