« MovableType用PostToTwitterプラグイン v1.1.1 | メイン | MTプラグインの雛形を作るスクリプト MTPlugin-Starter »

すべてのブログをいっぺんに再構築するスクリプト - rebuild_all

すべてのブログをいっぺんに再構築するスクリプトを書いてみました。

使い方は、アーカイブに含まれる"rebuild_all"スクリプトをMovable Typeインストールディレクトリの「tools」ディレクトリの下にコピーし、起動するだけです。

$ tools/rebuild_all
rebuilding...
Blog: blog_1...ok
Blog: blog_2...ok
Blog: blog_3...ok
Blog: blog_4...ok
Blog: blog_5...ok
done
$

ダウンロード: rebuild_all.zip
ライセンス: MIT License

複数のブログを使ってサイトを構築している場合に便利だと思いますので、ぜひお試しください。

追記:
MovableType 4.0に対応しました。[2007/08/10]
お問い合わせ

エムロジック株式会社ではMovable Typeによるサイト構築やプラグイン開発、iPhone・Windows等のアプリケーション開発業務を行っています。
お問い合わせはこちらまで。

コメント (9)

question:

はじめまして。
いつも拝見しております。

現在、複数のブログを使ってサイトを構築しているため(バージョンはMT4)、
こちらのプラグインを試させいただこうとおもったのですが、
「使い方は、アーカイブに含まれる"rebuild_all"スクリプトをMovable Typeインストールディレクトリの「tools」ディレクトリの下にコピーし、起動するだけです。」
の「起動する」というのは、何かをたたくのでしょうか?
ダウンロードしました"rebuild_all"内を拝見しても、この「起動する」の意味の詳しい点が分からず、コメントをさせて頂きました。

よろしければ、「起動する」という内容をお教え頂けないでしょうか。
よろしくお願いいたします。

endo:

>questionさん

起動するとは、

1. サーバにリモートログインする
2. MTをインストールしたディレクトリへ移動する
例) cd /var/www/cgi-bin/mt
3. スクリプトを実行する
./tools/rebuild_all

ということです。

こちらのスクリプトを利用し MT の再構築をしているのですが、MT の管理画面からブラウザ越しに「再構築」したときは更新されるのですが、rebuild_all で再構築すると更新されないページがあります。

ファイルのパーミッションなどの問題でもなさそうですし、rebuild _all にもエラーメッセージは表示されません。

なぜこのような現象が起きるのでしょう ?

ソースを見てみましたが、MT のライブラリを使い $mt->rebuild しているだけですよね。

これは MT の管理画面から実行するのとなんら変わりはないと思いますのですが...

アドバイスなどいただけたらと思い、コメントいたしました。

なぜでしょう...

endo:

>やまざきさん

残念ながらそういった現象に出会った事はないのですが...、

- 具体的には何をどう変更し、どういう結果が得られるべきだったのでしょうか?
-「更新されない」とは、ブラウザで確認されたのでしょうか?それともエディタでしょうか?
- MTのバージョンとそれをお使いの環境はどういったものでしょうか?

等の情報をお知らせいただけると、何かアドバイスできるかもしれません。

結論から書きますと、rebuild_all に似たプラグインで mt-rebuild があると思いますが、こちらを利用して解決しました。

./mt-rebuild.pl -mode="archive" -archive_type="Individual" -blog_id=xxx

ver.3.21-ja という若干古いバージョンの MT なのも原因かもしれません。(根拠はありませんが...)

現象としては、rebuild_all した際、再構築されるブログ記事とそうでないものがあったという問題です。

ブラウザ越しにチェックしたところ、複数の記事でこのような現象が起きておりコメントした次第です。(ページ個別のテンプレートを変更しており、それが反映されている記事とそうでないものがあった)

ブラウザのキャッシュなどが原因ではなく、HTMLが再生成されないという奇妙なものでした。

結局、先に書いた方法を各ブログ単位に実施することで解決しました。
(blog_id の部分を全てのブログ分 loop させるプログラムを仕込み実行)

MT の内部の問題だと判断したので深くは追求せず...
コメントに返答いただき、ありがとうございました。

question:

>endoさん
ありがとうございます。
正常に起動させることが出来ました。

Anonymous:

6アパートから来ました。

「MT5 に対応しています」

の表記を書いていただけると、利用者にわかりやすいと思います
よろしくお願いいたします

kobayasi:

はじめまして。

ひとつ伺いたいことがあります。

rebuild_allというプラグインはムーバブルタイプのWebページのほうには対応していますか?それともブログページだけですか?

何か知っていることがあればおしえてください。

toka:

カスタムフィールド部分でエラーが発生してしまいます。
「不明なタグです:カスタムフィールド名」

何か対処法があれば教えて頂けると幸いです。

コメントを投稿