LoginSignup
16
16

More than 5 years have passed since last update.

バックアップにBakthatいいんじゃね?

Posted at

バックアップに思いを馳せる日々...

精神が勝手に汚濁している毎日、
バックアップどうすりゃいいんだと考える毎日。

探してたらBakthatというものを見つけた。
指定したディレクトリを暗号化し、また
S3 or Glacierにバックアップする機能もついている。

Bakthat ドキュメント

bakthat インストール

まずは環境構築をしよう。
botoを利用しているので、環境はPython 2.x系じゃないといけない。
今回は2.7.5で動作確認をしている。

  • (S3/Glacierを利用してバックアップするのにbotoを利用している。)
> mkdir -p ~/Sandbox/bakthat
> cd ~/Sandbox/bakthat
> virtualenv-2.7 .venv
> source ~/.venv/bin/activate
> easy_install bakthat
> rehash

S3へのバックアップを行なってみる

安くて安心なバックアップ先でクラウドで〜となるとS3しかない…
リージョン3つに跨ってバックアップとかS3してるし。
時間経てばGlacierに転送しちゃうみたいなのも可能だし。

AWS側の設定

AWS S3のAPI_KEY, API_SECRET_KEYについて必要なので用意しておく。
準備するにはAWS IAMでS3にバックアップするためのユーザーを作成して、
テスト用のユーザーを作成するのがオススメ。

作成方法については省く。(時間があればスクショ取ります)

bakthatの初期設定

以下のコマンドを打ち込むと、
対話状態になる。その時にAWS_KEY, API_SECRET_KEYを入力する。
またデフォルトのバックアップ先設定はS3向けにしとけばいいので
(S3バケットの設定でGlacierに飛ばすとかやればいいし)
そうしといた。

> bakthat configure
> AWS Access Key: XXXXXXXXXXXXXXXXXXXXXXXX
> AWS Secret Key: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
> S3 Bucket Name: bakthat-test
> Glacier Vault Name: bakthat-test
> Default destination (s3):
> Region Name (us-east-1): us-west-2
> Config written in /Users/matsuzakikeiji/.bakthat.yml
> Run bakthat configure_backups_rotation if needed.

bakthatによるバックアップテスト

バックアップ用のテストファイル作成

バックアップをテストしたいので、
テストに利用したいディレクトリを作成する。

> mkdir -p ~/Sandbox/bakthat/hoge
> cd ~/Sandbox/bakthat

作成したhogeディレクトリに適当なファイルを作成しよう。

> echo "こんにちは..." > hoge/poem.txt

ほいじゃバックアップ

以下のコマンドを打ち込むとバックアップが開始される。
その時、ファイルを暗号化するためのパスワード入力を促される。

> bakthat backup

bakthat backup

バックアップされているか確認

AWS Management console上からバックアップされてるか確認してみる。
さっそくアクセス。

S3 backup

あった。バックアップされてる!よかった。

リストアに挑戦

バックアップに利用したhogeディレクトリを削除してリストアしてみよう。

> rm -rf hoge

その上で、bakthatによってリストアを試みる。
リストア時に、バックアップ時に入力した暗号化キーの
入力を促されるので入力する。

> bakthat restore hoge

S3 restore

リストアされてる!

cat poem.txt

ポエムもバッチリだ。

感想

似たツールにs3cmdがあるけど、
バックアップする先のバケットを一つに絞っておいて、あとは
適当にbakthat backupコマンドを適当に打つだけなので個人的には
bakthatのがいいかな〜と思ってる。

細かいバックアップ調整(ディレクトリやら作成バケット名やらリージョン選択)とかしたければ、
botoやらaws-sdk-ruby使えばいいし。

16
16
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
16
16