コピペコードで快適生活

明日使えるソースを自分のために

unicornのlogrotate設定サンプル

/etc/logrotate.d 配下に下記を置く。
日次ローテート + 90日間保存で設定しています。
ローテートしたログは圧縮するが、直近の1世代分はそのまま

/var/www/app/shared/log/*.log {
  daily
  missingok
  rotate 90
  dateext

  compress
  delaycompress

  lastaction
    pid=/var/www/app/shared/tmp/pids/unicorn.pid
    test -s $pid && kill -USR1 "$(cat $pid)"
  endscript
}

※メモ
Unicornには、USR1シグナルを送ると、ログファイルを開きなおす機能が備わっている。
そのため、現在のログをリネームした後、USR1シグナルを送信してログをローテートする。