Rails用データベーススナップショット&バックアップ「SnapShot」
Webアプリケーションを構築する場合、データベースの利用は最早必須といっても良いほどになっている。そしてサーバ障害などが起こったことを考えるとデータベースのバックアップは必須になる。
Rakeから簡単にデータベースのバックアップ
データベースのバックアップとなるとどうもShellで書いたりしてあまり洗練されていないことが多い。そのため時間がないと忘れられる可能性がある。そこでWebアプリケーションにバックアップ機能を統合してしまうのはどうだろう。
今回紹介するオープンソース・ソフトウェアはSnapShot、Railsプラグインとして動作するデータベースバックアップだ。
SnapShotはRailsアプリケーションに統合されるので、別途パスワードを用意する必要もなく使えるので手軽だ。Rakeのタスクに入るので、バックアップの呼び出しもごく簡単に行える。バックアップファイルはdb/snapshots以下に保存されるので、そのディレクトリ同期すれば別サーバへのバックアップも容易だ。
バックアップ実行した際の画面
モードは二つあり、ただバックアップを呼び出すだけのタスクとスナップショットと呼ぶ、名前をつけて保存するモードがある。特定の場合に保存する際にはスナップショットを使うのが良さそうだ。なお今の所MySQLのみサポートされており、今後SQLiteやPostgreSQLへの対応が予定されている。
バックアップやスナップショットからの復元も用意されており、操作はRakeから簡単にできる。なお、バックアップは標準出力になっているようなので、サイズが大きくなってしまう可能性があるのでご注意いただきたい。
利用しているWebアプリケーション専用のバックアップはもちろん、データベースサーバに入れてグラフィカルなバックアップ管理インタフェースの基盤としても利用できそうだ。もしもの時のためにも、早めにインストールしておきたいソフトウェアだ。
Adman65’s Snapshot at master - GitHub