cron タスクの設定 【 Cron-job.org の利用】

Drupal icon

2010/03/10 追記:最近流行の Twitter bot で利用する人が急増したためか、昨年末頃より cron-job.org の「日本人お断り」が現実のものとなってしまったようです。従って、このチュートリアルはもはや役に立ちませんのでご注意ください。

はじめに

cron タスクの設定では、サーバの cron を利用した cron タスクの設定方法について説明しました。
しかしながら、多くのユーザが利用するであろう国内のホスティングサービスでは、cron を提供するプロバイダがあまり多くないのが現状のようです。(海外のホスティングサービスでは、比較的多くのプロバイダが提供しています)

このようなホスティングサービスを利用している場合は、

管理セクション >> ログ >> 現状報告 (admin/logs/status)

にアクセスし、「cron メンテナンスのタスク」にある「cron を手動で実行」をクリックするか、あるいは cron.php に直接アクセスすることで、cron タスクの実行を手動で行うことができます。
しかし、これを定期的に実行するのは大変に手間が掛かります。

そこで、このチュートリアルでは、cron の代用となるサービスである「Cron-job.org」の紹介と、それを利用した cron タスクの実行方法を説明します。


Cron-job.org について

Cron-job.org はドイツの方が提供している、特定の URL に定期的にアクセスしてくれるサービスで、完全に無料で提供(2008/10 現在)されています。

現在のところ、インターフェイスはドイツ語のみで提供されドイツ国内専用のサービスのように見えますが、筆者が運営者に問い合わせたところ『もちろん、日本の方々が利用することもできます。ただし、残念なことにサービスはドイツ語のみですので、利用にあたっては翻訳サービスを使ってください』とのありがたい回答をいただきました。

利用される場合は、サービスが永続的に提供されることも、定期アクセスが確実に行われることも、当然のことながら保証されていないことを念頭に置き、サービスの乱用等により「日本人お断り」ということにならぬよう、感謝の念と礼節を持って利用されることをお願いいたします。

また、Cron-job.org と当サイトには一切の関係はありませんので、このチュートリアルに関する質問等を Cron-job.org にされることや、Cron-job.org に関して当サイトに問い合わせることはご遠慮願います。


Cron-job.org の利用方法

まずはじめに、Cron-job.org はすでに述べたようにインターフェイスがすべてドイツ語となっています。
海外のサービスの利用に慣れている方々にはさほど難しいことはありませんが、そうでない方々も多いと思いますので、筆者の方で Cron-job.org サイトの翻訳を行い、「Japanize サービス」経由で Cron-job.org サイトを日本語で利用できるようにしました。
Japanize プラグインが未インストールの方は是非、ブラウザにインストールしてみてください。

以下では「Japanize サービス」を利用した翻訳済みのスクリーンショットを使用して、登録から利用までを説明します。(Japanize プラグインをインストールしたくない方は、実際のドイツ語画面と比較しながら読み進めてください)


まずはユーザ登録を行います。

ユーザ登録に必要なものは、あなたの名前、メールアドレス、好みのパスワードの3点です。
メールアドレスは、本登録用のアドレスが書かれた確認メールを受け取る必要がありますので、必ず受信可能なアドレスを指定します。

  1. フロントページの右下のメニューにある「登録申請」をクリックしてユーザ登録画面へ移ります。

    フロントページ画面

  2. ユーザ登録画面で各フィールドに必要な項目を入力し、Registrieren ボタンを押します。

    登録申請画面

  3. 登録を受け付けた旨を表示する画面に移行した後、しばらくすると登録したメールアドレスに、http://www.cron-job.org/cgi-bin/cronweb?action=activate&user=xxxx&key=xxxxxxx...... というアドレスを含んだ確認メールが到着しますので、そのリンクをクリックするか、ブラウザのアドレス欄にコピーし、そのアドレスにアクセスしてください。
    ※ しばらく待っても到着しない場合、受信側の環境でスパムとして誤認され、振り分けられている場合があります。 タイトルが『Ihre Anmeldung bei cron-job.org』のものや、"cron-job.org" の文字列を含んだメールがスパムとなっていないかをよく確認してください。

  4. アクティベーションが完了すると、以下のような画面が表示され、本登録が完了します。

    登録完了画面


登録が完了したら早速ログインし、Cronjob を設定してみましょう。

  1. ログインは各画面の左下にあるログインフォームから行います。
    登録したメールアドレスとパスワードを、それぞれのフィールドへ入力し、「Ok」ボタンをクリックします。

    ログイン画面

  2. ログインが成功するとウェルカムページに移行しますので、右下の「Cronjob」リンクをクリックします。

    ウェルカム画面

  3. cronjob 画面に移行後、「新しい cronjob を作成」ボタンをクリックします。

    cronjob画面


「cronjob の作成」画面に移行した後、定期的にアクセスさせるスクリプトへのURLや、その頻度を設定します。
設定する項目は上から順に以下のようになっています。

  • スクリプトの URL - 例えば、http://example.com/drupal/cron.php
  • 有効にするかどうか - 「はい」または「いいえ」
  • 実行する日 - 「1日」から「31日」
  • 実行する曜日 - 「月曜日」から「日曜日」
  • 実行する月 - 「1月」から「12月」
  • 実行する時刻の時単位 - 「0時」から「23時」
  • 実行する時刻の分単位 - 「0分」から「58分」

実行する日時の選択フィールドは、単にクリックすれば1つだけ、CTRL キーを押しながらクリックすればクリックしたものを複数、SHIFT キーを押しながらクリックすればクリックした2点間をすべて、また、左マウスボタンを押下しながらフィールド値をなぞるように下へ移動すればその間が、それぞれ選択状態にできます。

実行日時の指定は細かく設定できますので、例えば、1週間に1度だけバックアップ用のスクリプトを起動したい場合には「曜日」だけを選択することも可能です。
しかしここでは、Drupal の cron.php を実行することを前提にしますので、一年中 30 分ごとに実行されるように設定してみましょう。

この場合、実行する日・曜日・月・時刻の時単位はそれぞれ全選択状態にし、分単位のみ「0」と「30」だけを選択します。
これにより、年間を通じて「xx時00分」と「xx時30分」にスクリプトにアクセスされるようになります。

  • 設定が完了したら、最後に「Speichern」と書かれたボタンをクリックして設定を保存します。

    cronjob作成画面


設定が保存されると、再び cronjob 画面に戻ります。

既存の cronjob の編集や削除は、それぞれの右端にあるアイコンをクリックすることで行えます。

cronjob画面


Drupal icon

以上で Cron-job.org を利用した cron タスクの設定は完了です。
時々はサイトの監視ログを確認し、きちんと cron 処理がされていることを確認するとよいでしょう。



おつかれさまでした。