LoginSignup
5
4

More than 5 years have passed since last update.

sidekiqでログローテーション

Last updated at Posted at 2016-05-04

sidekiqのログをローテーションさせる方法をネットで調べると、USR2シグナルを送るべしという情報を見つけることができます。中でも以下のサイトは、そのものズバリのコンフィグが用意されていました。

Sidekiq で logrotate を使うときは USR2 シグナルを送る

ただ残念ながら、多分コンフィグにバグがある(test -s $pidではなくtest -s $sidekiq_pid)と思われます。実際試してみると、修正前ではうまくローテーションされず修正後だとローテーションされました。

なので、修正したスクリプトを以下に記しておきます。

/etc/logrotate.d/my_rails_app
/data/my_rails_app/shared/log/*.log {
  daily
  missingok
  rotate 10
  size 10M
  dateext
  notifempty
  copytruncate

  compress
  delaycompress

  lastaction
    unicorn_pid=/data/my_rails_app/shared/tmp/pids/unicorn.pid
    test -s $unicorn_pid && kill -USR1 "$(cat $unicorn_pid)"

    sidekiq_pid=/data/my_rails_app/shared/tmp/pids/sidekiq.pid
    test -s $sidekiq_pid && kill -USR2 "$(cat $sidekiq_pid)"
  endscript
}
5
4
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4