旧それなりブログの跡地、画像やスタイルやJSなどが壊れてることがあります。

[MySQL,cron,shell] cron用mysqldumpラッパなシェルスクリプト

2008年7月25日

「mysqldumpコマンドとcronコマンドを使ってデータベースの自動バックアップ」を行う
というのは良くあることだと思いますが、
自分の場合は、その時々でシェルスクリプトを書いており、
かつ、程よい具合にバックアップされるように、cronスケジュールを複数指定していたりしていて、非常に面倒な作業になってしまっていました。

最近もまた、同じような設定をする必要に迫られたため
その内モトは取れるだろうと予測して、いっそのこと専用のシェルスクリプトを作成してみました。

mysqldump4cron.sh

※設定値を軽く解説
WEEKLY_TARGET_DAY_OF_WEEK … 週次バックアップを行う曜日
MONTHLY_TARGET_DAY … 月次バックアップを行う日付
DAYLY_MAX_LIFE … 日次バックアップを保持する日数
WEEKLY_MAX_LIFE … 週次バックアップを保持する日数
MONTHLY_MAX_LIFE …月次バックアップを保持する日数
※すぐに完成するだろうと思ったら、なんと4時間も掛かった・・・。FreeBSDで作業してたからdateが動かなくて微ハマりしてしまった。結局、現在はFreeBSDを捨てて非対応になっていますが、対応する場合は、コチラ参照

mysql-zrmとか専用ツールを使えよ、って話もありますが
自前のサーバとかWebサービスとか、受託であっても別段の理由が無ければそこまでせんでも、と思います。
使い慣れたコマンドなので気軽だし、ボーンシェル+ダンプコマンドなので可搬性に優れるし。

もし、他にいい方法をご存知の方がいらっしゃいましたら、
教えていただけるとうれしいです。