よかろうもん!

アプリからインフラまで幅広くこなすいまどきのクラウドエンジニアが記す技術ブログ

定期的にS3にバックアップしているデータが最新の状態かをチェックしよう!

過去のエントリでS3にアプリケーションのデータやログ、DBのダンプファイルなどを保存するときにはBackupというgemを利用すると便利だということを紹介しました。

このようなgemを利用することでバックアップを簡単に、かつ、バックアップで失敗したらエラー通知なども容易に実現できます。

ただ、バックアップというのは、きちんと保管できているかを定期的に確認しておかないと、万一の時に、”取得していたはずのデータが無いぞ!”ということになりかねません
しかし、この確認作業はcreativeな作業ではないので、モチベーションもあがらないですよね。

ということでツールを作成したので公開しておきます。
https://github.com/interu/s3_backup_files_checker

現時点で動作確認ができているのは以下の環境です。
ruby (1.9.2 p290)
■gem

実行する前に pit の設定をしておいてください。

s3:
access_key: "ACCESS_KEYを入力"
secret_key: "SECRET_KEYを入力"

あとは、config.yml.sampleを参考にconfig.ymlを作成してください。
実行方法は以下のようにするだけです。

$ ruby check_backup_files.rb

するとコンソールで以下のように表示されます。

f:id:interu:20111202161455p:image

現在の仕様では、指定したバケット配下のディレクトリ内の最新のファイルが24時間以内のものであれば出力結果がGreenとなり、そうでなければRedとなります。

設定さえ作成してしまえば、後々のバックアップデータの確認作業は楽に行えるようになるので、ぜひ試してみてください。