サーバコントロールパネルから[cronの設定]ページへ行きます.
[>> 新規項目の追加] から新規のcron設定をします.
このときの書き方は
さくらインターネットのCRONでcakePHPを実行する
ここを見てやりました.
前に書いた
cakephpでtwitterのOAuthを利用してBOTを作ってcron実行するまで
の記事でapp/vendors/shells/cron/controller_action.php を作ってそこに
$_GET['url'] = "(実行したいコントローラ)/(実行したいアクション)";
require_once dirname(dirname(dirname(dirname(__FILE__)))) . "/index.php";
という感じのコードを書いたので同じ様に実行したいアクションを指定します.
実行コマンドには
cd /home/*(アカウント名)*/www/hoge/*(アプリ名)*/app/vendors/shells/cron/; /usr/local/bin/php controller_action.php 1>/dev/null
と指定します.
ちゃんと動いてるか確かめる為に分の設定部分を小刻みに変えながらチェックすると良いです.
*ミスしてた所
Authコンポーネントによる認証を行うシステムで、cron指定するアクションを要ログインのアクションにしていたのでcronが上手く動いてくれなかった.
beforeFilterの$this->Auth->allow()でcronで動かすアクションをログイン無しでアクセスできるようにしたら動きました.