Homestead & Laravelでタスクスケジュール機能を使う方法

一度以下の設定を行った後は、Laravelでコマンドを作って”app\Console\Kernel.php”にコマンドと実行頻度を登録すればOK。

コード


# Homesteadでタスクスケジュール機能をONにする
# Homestead.yaml
sites:
    - map: project_name.app # ホスト名
      to: /home/vagrant/code/project_name/public # web上に公開するディレクトリ
      schedule: true # Laravelのタスクスケジュール機能を使う

# 設定の読み込み
$ vagrant reload --provision


# cronの設定ファイルを作る
$ cp /etc/crontab /etc/cron.d/my_cron

# cronの設定ファイルをviなどで編集
$ vi /etc/cron.d/my_cron

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
# 以下を追加
*  *    * * *   root cd ~/code/project_name && php artisan schedule:run >> /dev/null 2>&1 

# cronの実行
$ sudo service cron restart


# cronのログを出力
$ vi /etc/rsyslog.d/50-default.conf

# コメントアウトを外す
# cron.*                          /var/log/cron.log

$ sudo service rsyslog restart

Laravel 7.x タスクスケジュール

https://readouble.com/laravel/7.x/ja/scheduling.html

Laravel 7.x Laravel Homestead

https://readouble.com/laravel/7.x/ja/homestead.html

Cronの使い方とテクニックと詰まったところ

https://qiita.com/UNILORN/items/a1a3f62409cdb4256219

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です