MT のバックアップ

つい先日、 ついに 100 エントリーを超えまして、 明日を持って満 2 ヶ月が無事終了。 いい加減きちんとバックアップをとっておかないとまずいよなぁ、 ということでちょっとシェルを作ってみました。
ちなみに MT を動かしているサーバ上でシェルが動かせて、 cron が使える環境が前提です。 とりあえず覚書ということで^^
バックアップを手動で行うのであれば、 『MOVABLE TYPE の Import/Export のメニューから Export した Entry 系の情報』、 『(変更した) Template をカット&ペーストしてテキストファイルに保存したもの』、 『Archives ディレクトリにあるであろうアップロードした画像ファイル』、 以上の 3 種類の情報があればなんとか復元はできるはずです。 しかし、 手動でやるのはやはり面倒。 なんとか自動でやらせることを考えます。
今回は、 手っ取り早く、 mysql のダンプツールを使ってデータベース自体をバックアップします。 これを行うと、 Entry 情報と Template 情報がいっぺんに保存できます。 mysql のダンプを行うには、 そのものずばりの mysqldump というツールを使用しました。
あとは、 archives 下などにある画像ファイルを保存しなくてはいけません。 Entry 中に使っている画像ファイルだけでなく、 トップページを構成するファイル(画像ファイル)も一緒にバックアップしましょう。 おまけに、 一日一回のバックアップとして過去 1 か月分の履歴を保存することにします。
これを行うのが こんな感じのシェルスクリプト です。 エラー処理していないし、 ましてやこれから復元できるかも未確認(爆)。 でも、 まぁ、 大丈夫でしょう。
とりあえず動かして大丈夫そうだったら、 cron に登録。 私の場合は毎晩 12 時過ぎに更新してるため、 夜中の 3 時ころに動かすようにします。 こんな感じです。
0 3 * * * /home/hogehoge/mtbackup/mtbackup.sh > /dev/null
最後に復元の方法ですが、 MT のインストールの手順を参考にデータベースを作成後、
$ gzip -d mysql_mt.dmp.gz
$ mysql -u hoge1 –password=hoge2 mtdb < mysql_mt.dmp
で復元可能(なはず)です。

関連した記事:

投稿時刻: 1:14 PM | カテゴリー: Blog | パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です