MT指定日投稿をCRON設定

当サイトでも利用中の「さくらインターネット」などの一部レンタルサーバーでは、指定された日時にプログラムを実行するCRON機能を設定することが出来る。

Movable Typeの記事公開では「公開」と「下書き」、そして「指定日投稿」の項目があるが、これを選んだだけでは動かない。MTの本体に「公開」へと切り替えて貰う動作をさせる必要がある。また、指定日時が過ぎてから例えば全体の再構築をしても、「公開」に切り替わるわけでもない。そこで、CRONとの合わせ技。

さくらインターネットの場合は設定も簡単。まずは、MTフォルダ内から更に下の「tools」フォルダ内にある「run-periodic-tasks」のアクセス権を、705か755に設定。

次に、さくらインターネットのコントロールパネル内メニュー「CRONの設定」から「新規項目を追加」。実行するコマンドの欄は、上記解説頁にある記述例から自分のアカウント(以下はサンプルとしてumkrs)と、MTフォルダ名(同じくmt)に置き換える。「cd」と「mt/;」の後に半角スペースがある点に注意。

サーバーに負担が掛かるし、CRONを実行させる日時は、一日一度か二度で十分でしょう。「月」、「日」、「時」、「分」にそれぞれ数字を入れ、数字を指定しない場合は「*」にする。コメント欄は、自分のメモ程度に「MT指定日投稿」とでも入れておけば良さげ。

cd /home/umkrs/www/mt/; ./tools/run-periodic-tasks

MT指定日投稿

これで毎日午前0時5分にMTが動いて、指定日投稿にセットしておいた記事のうち、指定日時が経過した分を公開の状態にしてくれる。ちなみに、「0時5分」というのは「0時ジャスト」だとサーバーが込み合っていそうなので、ちょっと避けてみただけ。最後に「送信する」というボタンを押すと、パスを間違えていなければCRON一覧に登録が完了している筈。

尚、記事の公開と同時にインデックス・テンプレートも再構築されているが、「MultiBlog」プラグインの再構築トリガーで関連付けた別ブログに更新記事を出力するところまではしてくれない。MTの管理画面内に登録してあるウェブサービスの更新通知(ping)も、残念ながらしてくれない。この「指定日投稿」は限られた時にのみ使うことになりそうだ。