定期的にS3にバックアップしているデータが最新の状態かをチェックしよう!
過去のエントリでS3にアプリケーションのデータやログ、DBのダンプファイルなどを保存するときにはBackupというgemを利用すると便利だということを紹介しました。
このようなgemを利用することでバックアップを簡単に、かつ、バックアップで失敗したらエラー通知なども容易に実現できます。
ただ、バックアップというのは、きちんと保管できているかを定期的に確認しておかないと、万一の時に、”取得していたはずのデータが無いぞ!”ということになりかねません。
しかし、この確認作業はcreativeな作業ではないので、モチベーションもあがらないですよね。
ということでツールを作成したので公開しておきます。
https://github.com/interu/s3_backup_files_checker
現時点で動作確認ができているのは以下の環境です。
■ruby (1.9.2 p290)
■gem
- activesupport (3.1.1)
- fog (1.1.1)
- colorize (0.5.8)
- pit (0.0.6)
実行する前に pit の設定をしておいてください。
s3:
access_key: "ACCESS_KEYを入力"
secret_key: "SECRET_KEYを入力"
あとは、config.yml.sampleを参考にconfig.ymlを作成してください。
実行方法は以下のようにするだけです。
$ ruby check_backup_files.rb
するとコンソールで以下のように表示されます。
現在の仕様では、指定したバケット配下のディレクトリ内の最新のファイルが24時間以内のものであれば出力結果がGreenとなり、そうでなければRedとなります。
設定さえ作成してしまえば、後々のバックアップデータの確認作業は楽に行えるようになるので、ぜひ試してみてください。