25 July 2010

(Linux) Déjà Dup (duplicityの簡易GUI)でAmazon S3へのバックアップ

Déjà Dupを使ってAmazon S3にバックアップを行う。

20100725-dejadup01.png
Déjà Dup

バックアップとリストアの2個のボタンしかない単純なGUI

このGUIではリストアするファイルを選ぶことは出来ない。バックアップされている全てのファイルをリストアすることになる。(リストア先のディレクトリは選択できる。なお、特定のファイルのみをリストアしたい場合は、コマンドライン版を使う。この記事の下にコマンドライン版の使い方を記載した)

20100725-dejadup02.png
設定画面

バックアップ先を Amazon S3 にした場合、このダイアログでは ”S3 Access Key” と ”フォルダ” というS3側の設定ができる。 フォルダは、自動的に設定されるバケットの下に作られるサブフォルダ。AWS Management Consoleで、次のようなイメージのものになる。

20100725-aws-mcon.png
設定画面で設定した ”フォルダ” の作成場所。 バケットではなく、バケット内のサブフォルダ

では、バケットはどこで設定されているかといえば

~/.gconf/apps/deja-dup/s3/%gconf.xml

<?xml version="1.0"?>
<gconf>
<entry name="bucket" mtime="1280024535" type="string">
<stringvalue>deja-dup-auto-0123456789012345672</stringvalue>
</entry>
<entry name="folder" mtime="1280043321" type="string">
<stringvalue>/my-bucket</stringvalue>
</entry>
<entry name="id" mtime="1280048225" type="string">
<stringvalue>0AB12DF539CFA03598A23</stringvalue>
</entry>
</gconf>

に格納されている。バケット名を変更したりする場合は、「設定エディタ」などで修正すればよいだろう。

設定が終われば、バックアップボタンを押してバックアップを行う。

20100725-dejadup03.png
最初に、GnuPG暗号化のパスワードの入力画面

Déjà Dupでは ”鍵ファイル” を指定することは出来ないようだ。


20100725-dejadup04.png
Amazon S3の ”Access Key ID” と ”Secret Access Key” を入力する画面

ここで、「secret access key を記憶する」にチェックを必ず入れる。チェックを入れない場合、Amazon S3に接続できない。(バグでしょう?)

なお、チェックを入れた場合でも、1回目はアクセスに失敗して、次のようなダイアログが出てくる。

20100725-dejadup-err.png
Amazon S3の認証に失敗した

これはDéjà Dupのバクですね。次のバージョンで修正されることを期待しましょう…


20100725-dejadup05.png
バックアップ中のダイアログ

■ コマンドライン版 duplicity を用いる

コマンドライン版では、バックアップ状態のファイル一覧や、特定ファイルのみをリストアするなど、一般的にバックアップソフトに必要な処理が出来る。

コマンドラインの説明はmanページか、公式ページに記載されいてる。

バックアップ セットの表示


$ export AWS_ACCESS_KEY_ID=0AB12DF539CFA03598A23
$ export AWS_SECRET_ACCESS_KEY=01234567890abcdefghijklmn
$ export PASSPHRASE=mypassword

$ duplicity collection-status s3+http://deja-dup-auto-0AB12DF539CFA03598A23/my-bucket

Synchronizing remote metadata to local cache...
Copying duplicity-full-signatures.20100725T073820Z.sigtar to local cache.
Copying duplicity-full.20100725T073820Z.manifest to local cache.
Copying duplicity-inc.20100725T073820Z.to.20100725T090007Z.manifest to local cache.
Copying duplicity-new-signatures.20100725T073820Z.to.20100725T090007Z.sigtar to local cache.
Last full backup date: Sun Jul 25 16:38:20 2010
Collection Status
-----------------
Connecting with backend: BotoBackend
Archive dir: /home/user/.cache/duplicity/1a16fd5254831355a22752865db5fb1d8

Found 0 secondary backup chains.

Found primary backup chain with matching signature chain:

続いて、最新のファイル一覧の表示


$ duplicity list-current-files s3+http://deja-dup-auto-0AB12DF539CFA03598A23/my-bucket

Local and Remote metadata are synchronized, no sync needed.
Last full backup date: Sun Jul 25 16:38:20 2010
Sat Jul 24 08:42:20 2010 .
Thu Jun 10 22:59:49 2010 home
Sun Jul 25 17:59:22 2010 home/user
Sun Jul 25 16:19:07 2010 home/user/workspace
Sun Jul 25 16:23:03 2010 home/user/workspace/_MyDocuments
Sat Jul 17 19:44:24 2010 home/user/workspace/_MyDocuments/市内交通料金表.pdf
Mon Jul 12 23:15:55 2010 home/user/workspace/_MyDocuments/2010_EN.pdf

~ 略 ~

特定のファイルのみを、指定したディレクトリにリストアする。


$ duplicity restore --file-to-restore home/user/workspace/_MyDocuments/2010_EN.pdf s3+http://deja-dup-auto-0AB12DF539CFA03598A23/my-bucket ~/workspace/2010_EN_recover.pdf
Local and Remote metadata are synchronized, no sync needed.
Last full backup date: Sun Jul 25 16:38:20 2010

処理が終了すれば、Amazon S3のIDなどを削除しておく


$ export AWS_ACCESS_KEY_ID=
$ export AWS_SECRET_ACCESS_KEY=
$ export PASSPHRASE=

■ Nautilus (ファイルマネージャ) で指定ファイルのみリストア

”消去されていないファイル” であれば、Nautilus(ファイルマネージャ)でファイルを右クリックして出てくる コンテキストメニューで、”以前のバージョンに戻す”を実行すれば、特定のファイルのみをリストアできる。

20100725-dejadup-nautilus.png

GnuPGのパスワードを入力した後に、次のようなダイアログが出てきて、どの時点のバックアップファイルにリストアするか選択できる。

20100725-dejadup-restore.png