通常シェルは、ニュースレターを送ったり、たまにデータベースをクリーンアップしたりすることを、 cron ジョブとして実行します。
このように簡単な設定で行えます。
*/5 * * * * cd /full/path/to/app && bin/cake myshell myparam
# * * * * * 実行するコマンド
# │ │ │ │ │
# │ │ │ │ │
# │ │ │ │ \───── 曜日 (0 - 6) (0 から 6 が日曜日から土曜日、
# | | | | もしくは曜日名)
# │ │ │ \────────── 月 (1 - 12)
# │ │ \─────────────── 日 (1 - 31)
# │ \──────────────────── 時 (0 - 23)
# \───────────────────────── 分 (0 - 59)
詳しくはこちら: http://ja.wikipedia.org/wiki/Crontab
ちなみに
cron ジョブで画面出力を非表示にするために -q
(または --quiet) を使用してください。
いくつかの共有ホスティング上で cd /full/path/to/root && bin/cake myshell myparam
は動作しません。代わりに php /full/path/to/root/bin/cake.php myshell myparam
が使用できます。
注釈
php.ini の中で register_argc_argv = 1
を含めることによって、
register_argc_argv を有効にしなければなりません。グローバルに register_argc_argv
を変更できない場合、 -d register_argc_argv=1
パラメーターをつけることで、
cron ジョブに独自の設定ファイル (php.ini) を指定することができます。例: php
-d register_argc_argv=1 /full/path/to/root/bin/cake.php myshell
myparam