MovableTypeで投稿が出来なくなった

サイト運営費捻出のため広告を使用しています

mt-movabletype

■MovableType4.1へのアップデート

 最近、Movabletype4.01からMovabletype4.1(ベータ3)、そしてMovableType4.1(RC1)とアップデートを繰り返していたのですが、MovableType4.1(RC1)までアップデートして運用していく中で、新しい記事の投稿が出来なくなくなっていることに気が付きました。

 よくよく調べてみると、インデックスページや月別アーカイブ、日別アーカイブなどは正常に再構築ができるのですが、なぜか記事別のアーカイブだけがうまく再構築できません。再構築をしようとすると、プログラムのエラーが出てしまい、公開されるところまでいかなくなってしまいました。単に未来日を日時指定して保存するだけならば、問題なくデータベースに記事が保存されるようなので、個別エントリーのアーカイブを再構築して公開するところのどこかの過程でエラーが発生しているようです。

 システムのログも確認してみたのですが、記事を投稿したというログは残っているものの、その先でエラーが発生したというログは残されていませんでした。MovableType自身はエラーが発生したことを検地できていないようです。事象の切り分けをしようと思い、各種プラグインをいったん外して再構築をしなおしたりしているうちに、徐々に発生するエラーの質が変わってきてしまったため、sixapart社に事象の報告をすることができませんでした。

 ネット上で情報を調べてみても、同様のエラーメッセージが出ている形跡は無かったので、何か私が使用しているプラグインやカスタマイズしたテンプレートと、MovableType4.1(RC1)との相性の問題が出てきたのではないかと睨んでいます。

■環境の復元

 仕方が無いので、データベースもMovableTypeのプログラムファイルや環境が入っているディレクトリをそっくりと、1月13日現在でバックアップしたものに戻しておきました。データベースそのものも、MovableType4.1で形式が変わってしまっているため、以前のデータベースにそっくりと戻す必要があります。


 このデータベースのバックアップと復元作業については、さくらインターネットでMySQLを使用していると、面倒くさい作業になります。SQLiteを使用していれば、利用者の環境上にデータベースファイルが出来るので、そのファイルごと、バックアップをとったり復元をしたりすれば良いのですが、さくらインターネットでMySQLを使用していると、DBサーバーの中に入っているレコードの実体を何らかの状態でバックアップをして、そして復元するときには一旦はMovableTypeに関連するテーブルをDROPして、再度、テーブルをCREATE、新しい記録をINSERTしていく必要があります。

■WordPressのプラグイン

 私は「WP-DBManager」というwordpressのPluginでバックアップ、およびリストアをしています。このプラグインは本来はWordPressのデータベース環境をバックアップするために提供されているものですが、さくらインターネットのスタンダードプランまたはプレミアムプランではMySQLのデータベースファイルを1ファイルしか持つことができません。すると、同じファイルの中にWordPressのデータベースとMovableTypeのデータベースが共存する形になります。

 同じファイルの中に共存しても、Wordpressのテーブルには接頭語にwp、MovableTypeのテーブルには接頭語にmtが付いているので、お互いが上書きしてしまう心配はなさそうです。

 このWP-DBManagerプラグインを使って、データベースファイルのバックアップを取ると、該当のファイルの中に入っている全てのテーブルの中身をバックアップしてくれます。そして、バックアップしたファイルの中身は,drop table,create table,insertが組み合わされたテキストファイルとなり、これを起動すればそのままデータベースが復元される形になります。また、バックアップされたファイルを自分のパソコンにダウンロードすることも可能です。素晴らしい機能を持つプラグインだと思います。

■MovableTypeのバックアップ機能

 MovableType自身にも記事をエクスポートする機能は付いていますが、この機能でバックアップしただけでは、テンプレートなどの情報はバックアップすることができません。うまく、データベース全体をバックアップする仕組みはないものかと、MovableTypeのメニューから順に機能を探していくと、システムメニュー→ツールの配下にバックアップというメニューがありました。

 この機能を使用すると、バックアップするブログを選んだり、全てを指定したり等の機能も付いているように見えます。どんな機能なのか検索をしてみると、公式サイトの「こちら」のページがヒットしました。こちらのツールの中身を見てみると、「Movable Typeで管理している、ブログ記事、ウェブページ、コメント、トラックバック、ブログにアップロードした画像、テンプレートなどをまとめてバックアップすることができます。ZIP形式への圧縮、サイズの大きい場合は、複数ファイルへの分割も可能です。複数のブログをまとめてバックアップすることもできます。 」と書かれているので、希望する機能を実装しているようです。

 今後はWordpressのプラグインを使用せずに、こちらの機能を用いてバックアップを取っておきたいと思います。

コメント