バックアップスクリプト

投稿者: | 2012-06-24

データバックアップしないとね、ってことでやっつけで作ったスクリプト。

動きはこんな感じ。

  1. (backup_db.sh) DB(MySQL)のバックアップ(mysqldump)取得 -> gzip圧縮
  2. (backup_files.sh) 必要なファイルのバックアップ取得 (必要なファイルをtarで固めた後、gzip圧縮)
  3. (backup_sendmail.sh) バックアップしたファイルを特定のメールアドレスに送信
    • バックアップファイルは添付ファイルとする
    • ファイルサイズが大きいバックアップファイルは分割して送信する
  4. (backup_erase_old.sh) 古いバックアップファイルを削除
    • バックアップファイルはしばらくサーバ上にも残しておく (消してもいいんだけど)
    • 今はファイル更新のタイムスタンプで判断してるけど、1年後動作確認できたらファイル作成のタイムスタンプを見るようにする? (覚えていれば)

あとは以下の準備をして、backup.shをcronジョブにでも登録しておけば一定間隔でバックアップが取れるはず。

  1. The Mutt E-Mail Clientをインストールする
  2. 上の各スクリプトを順次呼び出すスクリプト(backup.sh)と、共通の設定ファイル(backuprc)を全部同じディレクトリにおく
  3. backuprcや、各スクリプト内で定義されている変数を適当に書き換える
  4. chmod +x *.shを行う

 

(余談) 1.のMuttのインストールの際、configureやmakeのやり方を一瞬忘れてしまっていた。やっぱり定期的にLinuxいじらないとダメだなぁ。。。