CakePHPでcronを使う方法です。
shellクラスを使って設定する例などが多かったのですが、今回はshellには触れず直接ファイルをたたく方式で・・・(とは言ってもCakePHPの場合は1つファイルを噛ます必要があるようです)
まずcronに設定するファイルを作成。
ファイル名は「set.php」とし、下記のソースを記載。
保存場所はappディレクトリにcronというディレクトリを作り、[app]/cron/set.php とします。(アプリケーションのパスは[app])
1 2 |
$_GET['url'] = "controller/action"; require_once( '[公開ディレクトリのパス]/index.php' ); |
1行目で使いたいコントローラー名・アクション名を設定します。
2行目には公開ディレクトリのindex.phpまでのパスを指定します。
このファイルを実行すると、
「http://www.exsample.com/controller/action」をブラウザで開いたときと同様になります。
crontab -e で下記のように記載
* * * * * /usr/bin/php [app]/cron/set.php
※/usr/bin/phpは環境によって変わります。(わからない場合は which php でパスが表示されます)
[参考サイト・関連情報]
「CakePHP Tips」 cron ジョブ
人気記事一覧
- MySQL 最大の値・最新の日付データを1つ抽出する方法(MAX)
- [CakePHP] XformHelperの使い方
- Linux: スワップファイル(swp)の削除方法
- HTMLのForm methodとactionについて
- PHPでカンマ区切りデータを配列に入れる方法 (explode)
- [エラー対処] failed to open stream: No such file or directory
- [CSS]ブロック要素(div)の高さを、内部のfloat要素に合わせて自動調整する
- [vsftp] FileZillaから接続できない場合の対処法
- PHP5.1→PHP5.3へバージョンアップする方法(CentOS)
- PHPでテキストを1行ずつ読み込む方法(file_get_contents,explode)