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時間後には自動的に更新される...ハズです。
少なくともウチのサイトではうまくいってます。
cronでMovableTypeを定期的に再構築
新規エントリー投稿時やコメント、トラックバック時に、インデックステンプレートの「再構築オプション」にチェックがある場合、その都度再構築されます。PHPでモジュー…