mt-rebuildでニュースを自動更新 1


mt-rssfeedで取り込んだニュース記事、そのままだとエントリーやコメントの書き込みがあった時にしか更新されず、これじゃしばらく放置しておくとNEWSじゃなくてOLDSになっちゃうので、mt-rssfeed.tar.gzに同梱されているmt-rebuild.plを使って1時間毎に自動更新するようにしてみました。

やり方...

※ 当サイトはXREAを使用しているため、他のサーバーでは???です。

1. mt-rebuild.plの設置

mt-rssfeed.tar.gzを解凍した中にあるmt-rebuild.plをMTフォルダ(mt.cgiなどがある所)にアップロードします。パーミッションは『700』

2. シェルスクリプトの作成

改行コードを指定できるテキストエディタ(秀丸、Danaなど)で

#!/bin/sh
/usr/local/bin/perl /virtual/XREAのID/public_html/mt3/mt-rebuild.pl -mode="index" -blog_id=1 -template="news"
exit

な風に作って赤い部分を自分の環境に合わせて適宜修正します。

・ XREAのID:XREAに登録した時のID
・ blog_id:Movable Typeの管理画面のブログ名リンクなどにマウスカーソルを当てると、ステータスバーに出てくる
 http://www.hogehoge.com/mt/mt.cgi … &blog_id=1 ←コレ
・ template:自動更新したいテンプレート名

改行コードを『LF』にしてファイル名『cron1.sh』で保存し、mt-rebuildと同じところにアップロードします。(ファイル名は何でもいいです。)
※ 最初何度やってもうまくいかずエラーが返ってきてましたが、こうしたら直りました。

3. CRONジョブの設定

XREAの管理画面にあるCRONジョブの編集画面でCRONジョブの動作時間の設定します。
一番上の設定0のところを以下のように設定

20 * * * *
public_html/cron1.sh

20は『毎時20分に実行』っていう意味ですが、たぶん毎時00分はたくさんの人が設定していて混んでそうなので、なんとなく毎時20分にしてるだけです。(意味あるかは不明)

で、設定を保存したら1時間後には自動的に更新される...ハズです。
少なくともウチのサイトではうまくいってます。


One thought on “mt-rebuildでニュースを自動更新

  • Project MultiBurst

    cronでMovableTypeを定期的に再構築

    新規エントリー投稿時やコメント、トラックバック時に、インデックステンプレートの「再構築オプション」にチェックがある場合、その都度再構築されます。PHPでモジュー…

コメントは終了