Weblog(Movable Type 4系)のデザインカスタマイズしようと思い、とりあえずローカルに環境作って、バックアップデータ持ってきて・・・、とやってみたら復元できない。
バックアップはMovable Typeのバックアップ機能(エクスポートでなくてね)を使用。
サーバとクライアントのMovable Typeもバージョンを合わせて(公開サーバのバージョンが最新より1つ古かったので、サーバの方を合わせた)、いざバックアップ。
ダウンロードしたバックアップデータを、クライアントのimportディレクトリに展開して、復元。
処理中のゲージアニメーションが表示されて、『復元を開始』と出力されるのだけど、それ以降何も出力されない。DB(MySQL)のテーブル除いても空だし、apacheのログにも特になにも出力はなし。
色々調べて、『プラグインによって、テーブルにフィールドが追加された場合は復元うまくいかないよ』というので、スクリプト書いて、サーバとクライアントのテーブル全てのフィールドを吐き出してdiffとってみても同じ。
情報がなさすぎて打つ手がない。
仕方ないので、DBをダンプした。
$ mysqldump -a --user=USERNAME --password=PASSWORD DBNAME > Backup.mysql
$ mysql --user=USERNAME --password=PASSWORD DBNAME < Backup.mysql
正常に展開された。ただ、ここまは良かったのだけど、今度はコンテンツの再構築でエラーとなる。理由はパスの不一致(ダンプデータの中にパス情報が記録されているため)。
サーバ側はCentOS、クライアントがFedoraなんだけど、apacheのDocumentRootがデフォルトで異なる。
CentOS:/var/www/htdocs
Fedora:/var/www/html
仕方なくパスを合わせて、再構築。
OK。
バックアップファイルからの復元がうまくいかなかったのは、パスの不一致かもしれないと思い、DBを全てクリアして初期化、再びMovable Typeの復元機能で挑戦。
うまくいかない。
MySQLのダンプでうまく行っているので、当初の目的は果たせるのだけど、MySQLダンプの場合は、画像等のデータも別途バックアップする必要があり、できればMovable Typeのバックアップ機能を用いたいところ。
まいったね。