« PerlのDBIでMySQLにShift JISの日本語のデータを挿入する。 | トップページ | auとdocomoのIPアドレス帯域のチェックツール »

2010年2月13日 (土)

Amazon S3にバックアップをする2

以前からrubyのgemcutterに登録しているs3backupというツールをこのところいろいろとBug修正や仕様を変更しました。仕様は変更しましたが、バージョンアップしても、今までのバックアップは失われず、設定ファイルもそのまま使用できます。
Amazon S3にバックアップする

Amazon S3の登録はクレジットカードがあれば、あっという間にできます。
値段は現在のところ下記の通りです。
Storage
$0.150 per GB - first 50 TB / month of storage used
Data Transfer
$0.000 per GB Internet Data Transfer - all data transfer into Amazon S3 (Until June 30, 2010)**
Requests
$0.01 per 1,000 PUT, COPY, POST, or LIST requests

300Gをバックアップするとして、今の為替だとだいたい月4500円ぐらい。
個人ユースには、ちょっと高い?
ただ、必要なファイルだけに絞れば、3Gだと45円。これならいつでもどこでも取り出せて、万一災害等で一切のバックアップメディアが失われたとしても、大丈夫なことを考えるとお得な気もします。

仕様の変更
1.sqlite3を使用するようになった。
バックアップ対象の各ファイル情報を今までHashのメモリでもっていたのに対して、sqlite3を使用するようにしました。理由は200Gぐらいあるディレクトリツリーをバックアップしたところ、4Gもメモリがあるにもかかわらず、メモリ不足で強制的にkillされるということがあったためです。そのため、sqlite3-rubyというgemに依存するようになりました。sqlite3-rubyはnative extentionを含むため、gccが必要になったり、sqlite3のdevel環境が必要になったりと少しインストールのハードルが上がりました。

2.レジューム機能を必ずするようになった。
以前はメモリを使用しすぎるため、resume機能をデフォルトでoffにしたのですが、sqlite3使用により、resume機能を付加してもメモリ消費が変わらなくなったため、常にonにしました。

3.一時ディレクトリを指定できるようになった。
以前は/tmpの下で圧縮や展開をしていたのですが、バックアップ対象のディレクトリのサイズが大きかった場合、/tmpでは賄えない場合に一時ディレクトリを/tmp以外にできるようにしました。

Bugの修正
1. パスワード設定をしていなかった場合、backupがエラーになるのを修正。
2. 特殊文字を含むディレクトリの場合、backupがエラーになるのを修正。
3.コネクションリセットのエラーによりbackupが中断されるのを修正。
4. ディレクトリ名と直下のサブディレクトリ名が同じ場合、そのディレクトリのバックアップが正常に行われないため、リストアに失敗するのを修正。
5.ディレクトリ名が長すぎる場合に、backupに失敗するのを修正。

|

« PerlのDBIでMySQLにShift JISの日本語のデータを挿入する。 | トップページ | auとdocomoのIPアドレス帯域のチェックツール »

ruby」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/68673/47555531

この記事へのトラックバック一覧です: Amazon S3にバックアップをする2:

« PerlのDBIでMySQLにShift JISの日本語のデータを挿入する。 | トップページ | auとdocomoのIPアドレス帯域のチェックツール »