[Movable Type]MTで日時指定投稿を行うには?

大抵のブログには日時指定投稿がついているわけですが、MTも例に漏れず下の様に日時を指定して投稿を行う事が出来ます。今まで試してみたことは無かったのですが昨日書いた記事でこの日時指定を試してみたのですが上手くいかなかったので原因を調べてみました。

Movable Type:日時指定投稿

解決方法は簡単です。MTのインストールフォルダの中にあるtoolsフォルダの中のrun-periodic-tasksというプログラムをcronに登録してあげるだけです。

まー実際どのタイミングで日時指定投稿が行われるのか疑問に思っていたのでなるほどといった感じです。

cronはクーロンと読みます。UNIX系のOSでは一般的な機能です。Windows系OSでいう「タスク」に当たる機能です。日時や曜日を指定してプログラムを一度きりまたは、繰り返し起動することが出来ます。

レンタルサーバーにMTを設置している場合はそのレンタルサーバーがユーザーにcronの機能を開放しているか問い合わせてみるといいでしょう。ユーザーに開放していなくても親切でサポートの技術が優れているところなら、頼めばたぶん登録してくれると思います。cronじゃ無くてもユーザーのアクセスをトリガにしてcgi等から一定時間毎に起動する方法などもあると思いますがここでは割愛します。

現在このブログが設置されているサーバーはサクラ・インターネットです。サクラ・インターネットの場合はコントロールパネルからcronの登録が可能ですので、比較的簡単に初心者の方でも利用可能です。


一応さくらインターネットの場合の設定方法を簡単に説明しておきます。

さくらインターネット:コントロールパネル、cron設定
さくらインターネット:コントロールパネル、cron設定

コントロールパネルに入ったら左のメニューから「CRONの設定」のリンクをクリックします。クリックするとCRONの設定状況が表示されます。実行コマンドのところで設定したい処をクリックして設定画面に移動します。

さくらインターネット:CRON設定画面
さくらインターネット:コントロールパネル、CRON設定画面

実際の設定画面です。

実行コマンドのところに「run-periodic-tasks」へのぜったいパスを登録します。

画像では例として

cd /home/●/www/●/mt/; ./tools/run-periodic-tasks 1> /dev/null

と登録しています。

●の部分や途中のパスの部分ハ自分の環境に合わせてください。

最後の「 1> /dev/null」はあっても無くても構いませんが、つけない場合cronから「run-periodic-tasks」が実行するたびにpostmasterにCRONを実行した旨のメールが届きます。

月、日、時には「*」を登録しています。これはワイルドカードで全てということです。全ての月の全ての日の全ての時間、つまり、毎時にCRONが実行されることになります。

分には「0,30」を登録しています。

結果毎時0分と30分に日時指定投稿のチェックプログラムが実行されることになります。

例えば分に「0,15,30,45」と登録すると15分ごとにプログラムが実行されることになります。

 

というわけで、日時指定による投稿が可能になりました。

タグ : , ,