自動的に再構築するインデックスを減らして,記事の再構築を軽くしたい。しかし自動で再構築しないインデックスは手動で再構築しなければならず,手間がかかる。mt-rebuild スクリプトを使うと,この悩みから開放される。
Movable Type では,再構築するインデックスやアーカイブが増えるにしたがって,再構築にかかる時間はどんどん長くなる。特に Movable Type 2.661 の場合,3.x に導入されているダイナミックパブリッシングという手段がないため,この問題は深刻である。
記事の再構築の時間をできるだけ短くする方法の1つに,自動的に再構築するインデックスを減らすという方法がある。テンプレートの編集画面で,「インデックス・テンプレートを再構築するときにこのテンプレートを自動的に再構築する」のチェックボックスをOFFにすれば自動的に再構築されることがなくなるため,1つの記事の再構築時間が短くなる。コメントやトラックバックの反応も早くなるというのも嬉しい。
そこで,「再構築は1日に1回でいい」というインデックスを分離して,cron のジョブとして自動的に再構築させることにした。利用するのは,mt-rebuild という Perl スクリプトである。プラグインではない。導入手順は以下の通り。
crontab には,例えば次のように書いておく。mt-rebuild.pl へのパスは自分のサイトに合わせる必要がある。このようなパスの指定はセキュリティホールになる可能性があるので,あまりオープンにしない方がよいのだが,まぁいいや。
メインインデックスは,日付が変わったときに再構築したい。nlog(n): 去年の今日を表示する や nlog(n): Wikipedia で見る今日は何の日? をやっているので,今日の日付にしたいからである。
その他は,それほど頻繁に更新する必要がないインデックスである。mt-rebuild.pl スクリプトの引数に何が指定できるかについては,スクリプト内に書かれているが,説明文は当然ながら英語である。Nergal 業務日誌: MovableTypeを定期的に再構築させる さんが日本語訳をしてくれている。
もちろん,crontab に1つ1つ書くのではなく,シェルスクリプトにまとめておいてそれを1回呼び出すだけでもよい。メンテナンスを crontab でしたいのか,シェルスクリプトでしたいのかは個人の好みの分かれるところだろう。
Posted by n at 2005-05-30 01:33 | Edit | Comments (1) | Trackback(2)UNIXというOSでは、Cron(Command Run ON)という便利な機能があります。
Cronとは、例えば、「毎日この時間に、このプログラムを動かしてね!」と設定しておけば、毎日コンピューターが起動さえしていれば、モンクも言わず自動でプログラムを動かしてくれるとい...
Trackbacked from: ネットビジネス用CGI Perl HTML Javascriptの情報サイト at March 29, 2006 00:12
Master Archive Index
Total Entry Count: 1957
参考になりました。
Posted by: showBOO at January 07, 2006 00:56ありがとうございました!!