開発環境にcron(Windowsの場合、タスクスケジューラ)をいれていませんでした
メンバーからどうしたらいいのと聞かれたので答えた
(メンバーのレベルは3年目なのでlinux初心者です)
インストールとサービスの設定
開発サーバーにログインして下記のコマンドを
インストールしてください
yum -y install cronie-noanacron
yum -y remove cronie-anacron
service crond restart
chkconfig crond on
インストールが終わったら
下記のコマンドが通るはずです
crontab -e
初期設定は以下のとおりです
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
の部分が通常のrootと微妙にちがう可能性があります
超ーーーーーー重要な事
crontab -r
というコマンドは絶対に打たないでください
設定が全部消えます
「r」と「e」はキーボードでは隣同士で危険です
なので
1回目の保存以外は
下記のコマンドを実行してください
vi /var/spool/cron/root
(作業おこなう前にはバックアップしてください)
#本番
*/1 * * * * CI_ENV=production php /var/www/html/xxxxproduction/public/index.php system gamedata create_gamedata
#テスト
0 * * * * CI_ENV=testing php /var/www/html/xxxxtesting/public/index.php system gamedata create_gamedata
「CI_ENV=production」は環境変数です
本番は1分に一回実行する
テストは1時間に1回0分の時に実行する
実行された場合は
/var/log/cronにログが出力されます
しかしこのログは実行されたよっていう事しかわかりません
実行しているけど、動きがおかしいとか
どうしてもわからない場合は標準出力を指定してください
0 * * * * CI_ENV=testing php /var/www/html/xxxxtesting/public/index.php system gamedata create_gamedata >>/tmp/analog.log 2>>/tmp/analog-err.log
エラーログが出力されるのでそこからエラーの調査ができます
補足
標準出力とは
http://www.creatology.jp/unix/outin.html
viとは
http://www14.plala.or.jp/campus-note/vine_linux/operation/vi.html