ユーザーを指定してcronを実行

Laravelでタスクスケジュールを利用する場合、cronに次のエントリを追加します。

* * * * * php /path-to-your-project/artisan schedule:run >> /dev/null 2>&1

タスク内でログ出力をする際には、Webと同様にLoggerが使用できますが、cronをrootユーザーで実行してしまうと、ログファイルの所有者がrootになってしまいます。

そのため、WebサーバーにApacheを利用している場合、Web側がログを出力する際にパーミッションエラーが発生する場合があります。

これを避けるためには、apacheユーザーとしてcronジョブを設定するのが良いと思います。

$ crontab -u apache -e

コメントを残す

Required fields are marked *.


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Top