rebuild-pagesツールの使い方

Movable Typeのインストール先に、「tools」というディレクトリがあります。
このディレクトリには、コマンドでMovable Typeを操作するツールがいくつかあります。

その中の1つに、再構築をコマンドで行う「rebuild-pages」というツールがあります。
このツールとcronとを組み合わせることで、ブログ等の再構築を定期的に行うことができます。
ただし、サーバーにPerlのモジュールをインストールする必要があるので、共有型のレンタルサーバーでは利用できない場合があります。

1.準備

rebuild-pagesツールを使うには、準備として、必要なPerlのモジュールをサーバーにインストールします。

1-1.LWP::UserAgent::Localモジュールのインストール

まず、「LWP::UserAgent::Local」というモジュールをインストールします。
手順は以下の通りです。

  1. モジュールのソースコードのページにアクセスし、ソースコードに「Local.pm」というファイル名を付けて保存します。
  2. Movable Typeのインストール先ディレクトリの中の「extlib」→「LWP」ディレクトリの中に、「UserAgent」というディレクトリを作ります。
  3. 今作ったUserAgentディレクトリに、先ほど保存したLocal.pmファイルをアップロードします。

1-2.Web::Scraperモジュールのインストール

次に、Web::Scraperモジュールをインストールします。
ターミナルでサーバーにログインし、以下のコマンドを入力します。

sudo cpan Web::Scraper

なお、サーバーによっては、Web::Scarperモジュールがすでにインストールされている場合もあります。

2.rebuild-pagesツールの使い方

rebuild-pagesツールを使うには、ターミナルでサーバーにログインし、Movable Typeのインストール先ディレクトリをカレントディレクトリにした後、以下のようなコマンドを入力します。

tools/rebuild-pages --user=ユーザー名 --pass=パスワード その他のオプション

ユーザー名/パスワードには、Movable Typeに普段ログインする際のユーザー名/パスワードを入力します。
また、その他のオプションとして、以下を指定することができます。

オプション内容
--blogid=○IDが○番のブログ(またはウェブサイト)を再構築します。
このオプションを指定しない場合、すべてのウェブサイト(ブログ)が再構築の対象になります。
--type=○○で指定したタイプのテンプレートを再構築します。
タイプに指定できる値は後の表のとおりです。
このオプションを指定しない場合、すべてのタイプが再構築対象になります。
--path=○mt.cgiのパスを指定します。通常は指定不要です。
--host=○mt.cgiのホスト名を指定します。通常は指定不要です。
--elapseこのオプションを指定すると、再構築にかかった時間が表示されます。
--silentこのオプションを指定すると、再構築結果を表示しません。

--typeオプションに指定できる値(主なもの)

再構築対象のテンプレートの種類
indexインデックステンプレート
Individualブログ記事アーカイブ
Pageウェブページアーカイブ
Categoryカテゴリアーカイブ
Monthly月別アーカイブ

なお、--blog_idと--typeのオプションは、複数回指定することができます。
例えば、「--blog_id=2 --blog_id=3」とすると、IDが2番と3番のブログ(またはウェブサイト)を再構築することができます。

3.コマンドの例

例えば、以下の状況だとします。

  • ユーザー名はfoo
  • パスワードはbar
  • IDが3番のブログのインデックステンプレートを再構築したい

この場合、Movable Typeのインストール先ディレクトリをカレントディレクトリにした後、以下のようにコマンドを実行します。

tools/rebuild-pages --user=foo --pass=bar --blog_id=3

4.cronと組み合わせて定期的に再構築する

cronが使えるサーバーなら、rebuild-pagesコマンドを定期的に実行して、再構築することができます。
以下のコマンドを実行するように設定します。「/path/to/mt」の部分は、Movable Typeのインストール先ディレクトリに合わせて置き換えます。

cd /path/to/mt; tools/rebuild-pages --user=ユーザー名 --pass=パスワード --silent その他のオプション

例えば、以下のような状況だとします。

  • Movable Typeのインストール先ディレクトリが「/var/www/html/mt」
  • ユーザー名はfoo
  • パスワードはbar
  • IDが3番のブログのインデックステンプレートを再構築したい

この場合、以下のコマンドをcronで定期的に実行します。

cd /var/www/html/mt; tools/rebuild-pages --user=foo --pass=bar --silent --blog_id=3

なお、cronの設定方法は、個々のサーバーのヘルプ等をご参照ください。