logrotate の使い方
ログを回す(古いログを残しつつ切り替える)
書き方
sudo logrotate -d 設定ファイル(試すだけ) sudo logrotate -f 設定ファイル(今すぐ回す) sudo logrotate -v 設定ファイル
設定は /etc/logrotate.conf と /etc/logrotate.d/。主な指示:daily・weekly、rotate 数、compress、missingok、notifempty、create モード 持ち主 グループ、copytruncate、size。
よく使うオプション
| オプション | 意味 |
|---|---|
-d | 試すだけで、何も変えない |
-f | 条件に関係なく、今すぐ回す |
-v | 何をしたかを詳しく出す |
例
$ sudo logrotate -d /etc/logrotate.d/nginx
nginx のログの回し方の設定を、実際には回さずに試します。設定を書いたら最初にこれで確かめます。
$ sudo logrotate -f /etc/logrotate.d/nginx
日や大きさの条件を待たずに、今すぐ回します。
$ cat /etc/logrotate.d/nginx/var/log/nginx/*.log {
daily
rotate 14
compress
missingok
notifempty
}設定を見ます。daily・rotate・compress などの指示が書かれています。
よくある間違い・注意
- 回したあと、プログラムが古いファイルに書き続けることがあります。postrotate でプログラムに開き直させるか、copytruncate を使います。
- logrotate はふつう 1 日に 1 回、タイマー(logrotate.timer)から動きます。設定を書いた直後には回りません。
実際に打って練習する
Linux レベル1 コースの Lv91「記録を巻き直す logrotate」で覚えます(第5章 見張りの塔(環境・ジョブ・ログ・時刻))。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。
Lv1〜16 は、登録不要・無料で遊べます(それより先はブロンズ以上のプランで遊べます)。