ログファイルの注意点
Date2026/09/02 Last Modified2026/09/02
概要
とある日次で実行しているバッチがあり、それが失敗しているということで原因を調査し修正を行った。
そして、翌日の朝に本番環境にSSHで接続してバッチを実行したところ成功。無事に直ったかと思ったら……まさかの失敗。
原因は簡単だったけれど、備忘録として。
原因と結論
Laravelで作成したアプリケーションで、毎日バッチを実行したら「日付+実行処理名.log」というファイルができるように組んでいた。
毎日新しいファイルが作成されるのだが、朝にSSHで接続してバッチを実行したユーザーがec2-userだった。
その結果、バッチはapacheユーザーとして実行されるので、ログファイルの上書き権限が無く"バッチ失敗"と出てしまった。
ログを書き込めないとしても処理自体は実行すべきなのか、どうするかの議論もあるところだけれども……。
対策
ひとまず目先のec2-userでやってしまったファイルは、直接権限変更を行うとして、 今後もこういった場面があると思うので権限設計が必要。
このようにログファイル自体に0664にしておけば、実行ユーザーの違いでこのエラーは防げるかと思う。
もしこの設計において、あんまり良くないことがあるのだとしたら、見直していきたい。