「Homestead」を使って作ったLaravel環境に、タスクスケジュール(cron)を設定してみたので、その手順をメモとして残しておきます。
Homesteadを使って、Laravel環境を構築する方法はこちら
【環境構築メモ】Homesteadを使ってLaravel環境を作ってみた
前提
今回は、Laravelのタスクスケジュール「app/Console/Kernel.php」に設定したプログラムをcronで動かすための設定を紹介します。
Kernel.php上でスケジュール設定をしていることを前提に紹介していきますので、まだ終わって無い方は先にそちらを済ませておいてください。
仮想環境にログイン
Kernel.php側で
以下のコマンドにて、構築した仮想環境にログインします。
vagrant ssh
cronの設定
以下のコマンドで、cronの設定画面を開きます。
crontab -e
設定画面が開いたら、一番下に以下の内容を追記し保存します。
* * * * * php /あなたのLaravelプロジェクトがあるパス/artisan schedule:run >> /dev/null 2>&1
設定内容の保存については、もし「GNU nano」という見慣れないテキストエディタが開いている場合は、「control + x」で保存できます。
「command + x」じゃないので注意!
以上で、LaravelのKernel.phpに設定したスケジュールが自動で動くようになります。
crontabに書いた設定が反映されない場合
cronを再起動してみて、動くかどうか試してみてください。
sudo service cron restart