一度以下の設定を行った後は、Laravelでコマンドを作って”app\Console\Kernel.php”にコマンドと実行頻度を登録すればOK。
コード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# 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の使い方とテクニックと詰まったところ
コメントを残す