さくらインターネットでcron設定してMTを指定日投稿する方法、6時間おきの自動更新とか

先日、友人からMT(Movable Type)で構築したブログをあらかじめ書いておいて、6時間おきに自動更新する方法について尋ねられました。

こういった場合には、cron設定を使います。

その友人は、レンタルサーバーは「さくらインターネット」を使っていたのですが、「さくらインターネット」はcronに対応しています。

今後、他の人にも尋ねられた場合に、説明が楽なように、ここに忘備録として「さくらインターネットでcron設定してMTを指定日投稿する方法」を書いておきます。

【さくらインターネットの設定】

まず、「さくらインターネット」の「サーバーコントロールパネル」にログインします。

ログインすると、左側のメニューの「アプリケーションの設定」の一番下に「CRONの設定」というメニューがあります。

CRONの設定

この「CRONの設定」をクリックします。

すると、「CRONの設定」ページが表示されます。

「CRONの設定」ページ

「* CRON 設定一覧 *」の「新規項目の追加」をクリックします。

すると、「CRON設定ファイルの編集」ページが表示されます。

このページに「* CRON スケジュール設定 *」という項目があります。

CRON スケジュール設定

この実行コマンドにcron設定に必要な命令を記述する必要があります。

もし、あなたのウェブサイトのURLが、

Example Domain

で、

MT(Movable Type)をインストールした場所が、

http://www.example.com/cgi/mt/

だとしたら、「実行コマンド」には次のように記述します。

cd /home/アカウント/www/example.com/cgi/mt/; ./tools/run-periodic-tasks

赤字の2箇所をあなたのサイトに合ったものに変更する必要があります。

アカウントは「サーバーコントロールパネル」の左上の「お客さま情報」に書いてあります。

「さくらインターネット」を使うと、初期ドメインとして「アカウント.sakura.ne.jp」と割り当てられているはずです。

「example.com」の箇所はあなたのウェブサイトのURLです。

「example.com」以降の「/cgi/mt/」は、あなたがMT(Movable Type)をインストールした場所です。

次に、「実行日時」を指定します。

実行日時

この「実行日時」は、同じページ下部にある<参考資料>を見ながら指定すると分かりやすいです。

参考資料

今回の場合は「6時間ごとに自動更新」という条件だったので、

月:*
日:*
時:*/6
分:0

と記述しました。

「コメント」には自分が後で見た時に、どんな指定をしたのか分かるコメントを書き込んでおけばいいと思います。

今回の場合は「6時間置きにMTを更新」と書き込みました。

最後に、「送信」ボタンをクリックすると、サーバー側のcron設定が完了します。

cronの指定日更新や自動更新を設定する際に、気を付けるべきことは、あまり頻度の高い更新設定にしないことです。

たとえば、1時間おきとか辞めた方がいいと思います。

というのも、サーバーに負担がかかるからです。

共有サーバーは、たとえるならマンションのようなものです。

あなたが自分勝手な行動をしたら、同じマンションの住民に迷惑がかかります。

だから、できるだけサーバーに負担がかからないように運営するべきです。

【MT(Movable Type)の設定】

ここからは、ブログを投稿するMT(Movable Type)の設定です。

これは非常に簡単です。

MT(Movable Type)で「新規エントリー」ページを開くと、ページ左下に「公開の状態」があります。

公開の状態

上の画面キャプチャはMT(Movable Type)のバージョン3.3なので、ちょっと古いですが。。

バージョン4.x以降とはちょっとデザインが違うと思います。

ここで、「公開の状態」のプルダウンメニューから「指定日」を選びます。

「指定日」を選択

すると、「公開する日時」がオレンジの枠で囲われます。

公開する日時

このオレンジの枠で囲われた「公開する日時」で、ブログを投稿したい日時を指定します。

今は2009年8月28日の22時ですが、ここでは「2009年8月29日の朝の5時58分28秒」に指定しています。

そして、最後に「保存」ボタンをクリックして完了です。

「さくらインターネット」のcronで6時間おきに投稿するという設定をしているので、6時間後にcronが始動した時に、このブログが投稿されます。

指定した「公開する日時」が6時間後よりも先の日時なら、その日時以降にcronが始動した時に投稿されます。

もちろん、MTで複数のブログを書いておいて、その記事ごとに将来の投稿日時を指定することも可能です。

なんとなく、メルマガの発行予約に似ていますね。

【うまくいかない場合】

もし、記事が正常に投稿されない場合は、なんらかの設定ミスがあることが考えられます。

その際には、「さくらインターネット」の「サーバーコントロールパネル」に戻って、左側のメニューの「メールに関する設定」の「メールアドレス毎の設定」をクリックします。

メールアドレス「postmaster」の「ウェブメール」を見ると、「さくらインターネット」からメールが来ているかもしれません。

なんらかのcron設定ミスがある場合は、「postmaster」に「さくらインターネット」からメールが来るので、チェックしてみるといいでしょう。

僕の場合は、

./tools/run-periodic-tasks: Permission denied

と本文に書かれたメールが届いていました。

これは、「run-periodic-tasks」ファイルのパーミッションが間違っているということですね。

この場合は、「run-periodic-tasks」ファイルのパーミッションを755か705にします。(インターネットの場合)

ちなみに、「run-periodic-tasks」ファイルの場所は、もしMTを

www.example.com/cgi/mt/

にインストールしたなら、

www.example.com/cgi/mt/tools/run-periodic-tasks

にありますよ。