CodeIgniterでのCron処理

1.x系はCron_job_bootstrapperを使うと良いみたい。

https://github.com/EllisLab/CodeIgniter/wiki/Cron-job-bootstrapper

からコピーしてスクリプト(cron.php)を作成する。保存するときはUTF-8、改行コードはLFにする。CLIで動かすので、#!/usr/bin/phpは削除する。サーバーの適当なとところに配置し、

chmod 755 cron.php

にて実行権限を与える。

cron.phpの中に書かれている定義を自分の環境にあわせて変更する。

define('CRON_CI_INDEX', '/var/www/vhosts/intranet/index.php');

実行してみる。

php cron.php

で次のように出ればとりあえずOK。

Usage: cron.php --run=/controller/method [--show-output][-S] [--log-file=logfile] [--time-limit=N] [--server=http_server_name]

後は

php cron.php --run=/コントローラー名/メソッド名

でOK。