Laravelでログローテートするとcronでartisanバッチを実行できなかった話
Laravelでログローテートすると、ログファイルが 644のapche:apacheで作成されてしまうのでcrontabでartisanバッチを実行するとPermission denied. で実行できないことありました。
この対策として、当初artisanバッチをrootで実行することで解決していましたが、それだと今度はapache側でログファイルが作られる前にartisanバッチが動くとroot:rootの644のログファイルができてしまい、サービス側がログファイルにアクセスできないことに気づきました笑
どうしたものかと考えていたところ、
「バッチをapacheユーザーで実行すればいいじゃん」
というなぜそれまで気づかなかった...的な名案が生まれたのでapacheユーザーでバッチを実行することにしました。
sudo su apache This account is currently not available.
できない...だと...
と思って絶望してたら以下の記事を見つけました笑kimagureneet.hatenablog.com
sudo crontab -u apache -e
でcrontabの中身を移し替えてことなきを得ました。