Phusion Passengerのログローテート設定
2017-04-12


logrotateでファイルがmvされてもPassengerは以前のファイルを掴んだままなので、これを手放させる必要がある。 方針は2つ?

logrotateをcopytruncateモードで動かす。

# /etc/logrotate.d/passenger.log
/path/to/app/shared/log/*log {
  weekly
  missingok
  rotate 1000
  create 0644 user group
  copytruncate
  dateext
}

logrotateのpostrotateでPassengerにアプリを再読み込みさせる。

# /etc/logrotate.d/passenger.log
/path/to/app/shared/log/*log {
  weekly
  missingok
  rotate 1000
  create 0644 user group
  dateext
  sharedscripts
  postrotate
    touch /path/to/app/current/tmp/restart.txt
  endscript
}

うちは緩いサービスなのでcopytruncateで良いけど、copytruncateで取り零しが発生するようなサービスだと、Railsの起動コストはもっと耐えられないような気がするけど……。

[Rails]

コメント(全0件)
コメントをする


記事を書く
powered by ASAHIネット