エントリーのアクセスランキングを定期的に更新したい。
「定期的」に処理を行なうならcronを使えば良いだろうと考えていたが、問題はRebuildをどのように処理するか。最初は個々
MTのプラグインで何か対処出来ないかな…と探していて「mt-rebuild」(tima thinking outloud.:Timothy Appneさん)と出会った。これはプラグインではなく単独実行するスクリプトで、簡単な引数を渡すことで任意テンプレートの再構築をコマンドラインから実行出来る。このmt-rebuildをダウンロード後展開し、中身のmt-rebuild.plをMTのルートディレクトリに置く。パーミッションは700。
(mt home)/mt-rebuild.pl
コンソールから実行し、Webブラウザで観て正常に再構築されていることを確認する。
% ./mt-rebuild.pl -mode="index" -blog_id=8 -template="Popular Ranking"「-blog_id=」にはテンプレートの編集で適当なテンプレートの名前にマウスカーソルを合わせた時にブラウザ下部に表示される
% ./mt-rebuild.pl -mode="index" -blog_id=8 -template="Main Index"
次はcronジョブへの登録だが、Webminを使うとGUIで実に簡単に出来る
Webminでのcronジョブ編集画面。実行ユーザ、実行するコマンドと引数、起動時間が簡単に設定出来、この画面から実行することで動作状況の確認も行なえる。写真の設定(毎時5分実行)は試験時のもので現在は毎時59分に再構築を実行している。
実際に実行しているシェル・スクリプト。MacOSXなので少々変則的なパスかも。
% cd /Library/WebServer/CGI-Executables/MT/こちらもパーミッションは700にする。% ./mt-rebuild.pl -mode="index" -blog_id=8 -template="Popular Ranking"
% ./mt-rebuild.pl -mode="index" -blog_id=8 -template="Main Index"