データベースも静的ファイルも丸ごとバックアップする Perl スクリプト all-backup.pl

この記事は、「Movable Type Advent Calendar 2012」の6日目の記事です。

みなさま、今日で僕は 36 歳になりました。たくさんのお祝いの言葉をいただき、ありがとうございます。36 歳の 1 年も「Update me, everyday!!」をモットーに日々精進していきたいと思います。

いやー、思い返せば 36 年間色々なことがありました。色々な、本当に色々な、、、あれ?思い出せない。。。思い出せないぞ、過去の記憶が〜〜〜!

ええ、過去の記憶はとても大事です。なくさないようにバックアップしておきましょう。

ということで、データベースも静的ファイルも丸ごとバックアップして、FTP で別のサーバーに転送までしてくれる「 all-backup.pl 」という Perl スクリプトを書きました。

ファイルも使い方も以下の Github のページをご覧ください。

ちなみに、僕は Perl プログラマと言えるほどのスキルはないので、ご利用は自己責任で。でも僕は8月くらいから使ってますけどね。もちろんリストアのテストもしました。

バックアップと Movable Type

さて、今年、僕はとあるMTを使った案件で大きなミスを犯しました。ミスの内容はケアレスミスなんですが、お客様の公開中のデータが十数件か消えてしまったんです。消えたというか、間違ったデータで中数件分のデータベース(ブログ記事)を上書きしてしまったんです。

もちろんこれまでそんなミスをしたことないし、しちゃいけないのも分かっていたんですが、やってしまったんですね。その節は大変なご迷惑をお掛けして申し訳ございませんでした。

その問題が発覚したとき、不幸中の幸いで静的なHTMLは残っていました。またシステムログも残っていました。

したがって、まずは消えてしまったブログ記事のIDを割り出し、システムログから静的なHTMLのURLやタイトルを割り出し、正しいデータに戻していくという方法で対処しました。もちろん色々な方が協力してくれたおかげですし、すべてのデータが完全に戻ったわけではありませんでしたが、この Movable Type の静的なHTMLを書き出すという最大の特徴のおかげで、被害を小さく押さえることができたのです。

大切なのは
君が、照らされていて
君が、照らしている
ということなんだよ

しあわせのパン 』(三島有紀子 ポプラ社)

そう、僕がMTを使っていて、そして、MTに助けられているんですね。今回の件だけではありません。常々 MT には感謝しています。

さあ、今年も残すところあとわずかですね。せわしなく働いている中で CGI がモッサリとしてるとアレなんで、ぜひ PSGI にして、みんなでせっせと MT と戯れていきましょう!

  • このエントリーをはてなブックマークに追加
Just a second...