僕は発展途上技術者

Rails で運用しているサービスのログをローテートする方法

運営している某サービスが落ちていてあせったのだが、なんのことはない、約3年間そのままだった Rails の production.log が超巨大ファイルになっていたのが原因でした。

Log Rotation for Phusion Passenger | overstimulate

で紹介されている通りに設定し、ログを毎日ローテートするようにしました。

以下の内容で、/etc/logrotate.d/passenger というファイルを作成、

/home/deploy/app/shared/log/*.log {
daily
missingok
rotate 30
compress
delaycompress
sharedscripts
postrotate
touch /home/deploy/app/current/tmp/restart.txt
endscript
}

ちゃんとローテートするかどうかは、

% sudo logrotate -f /etc/logrotate.d/passenger

で確認できます。

設定ファイルの各パラメーターは、最初に紹介したリンク先で詳しく解説されているのでそちらを参照してください。

Comments

  • 今携わってるプロジェクトでも気がついたらステージングのログが60GB越えていてびびった記憶があります。
    こういう地味なサービスは本当に便利ですね。

Comments


(Option)


Recent Entries

Recent Comments

Tags

Archives

Admin