codeIgniterで作った処理をcronから呼び出す方法についてメモ
ググってみたら
http://d.hatena.ne.jp/dix3/20081203/1228237872
http://csstemplate.blog.shinobi.jp/Entry/290/
などで「Cron job bootstrapper」なるものをよく目にしたのですが。
どうやら最新のものではそういったものを使う必要はないようで、単純に
コマンドライン引数に /コントローラー名/メソッド名/・・・(引数)を入れるだけ
で済むようです。
# URI.php の_parse_cli_args() 関数みたらわかりました。。。
ということでやったこと
1.cron.php ファイル作成
—————————————————
#!/usr/bin/php
define(‘CRON_CI_INDEX’, ‘/home/project/index.php’); // codeIgniter の index.php を指定
set_time_limit(0); // 時間かかる処理ならゼロにして強制終了させられないようにしましょう
chdir(dirname(CRON_CI_INDEX));
require(CRON_CI_INDEX);
—————————————————
2.cron.php に実行権限を付与
% chmod u+x cron.php
3.crontab 登録
0 * * * * /xxxxx/cron.php /controller/method
以上!
あームダに振り回された