Linuxサーバー管理

logrotateでログを自動管理する【設定ファイル完全ガイド】

Linuxサーバー管理
記事内に広告が含まれています。

ログの見方journalctlに続き、この記事ではlogrotateを使ったログファイルの自動管理を解説します。設定を一度作ってしまえば、ディスク満杯の心配がなくなります。

logrotateとは

logrotateはLinux標準のログローテーションツールです。cronから毎日自動実行され、古いログを圧縮・削除・リネームします。設定ファイルは /etc/logrotate.conf(グローバル設定)と /etc/logrotate.d/(サービス別設定)で管理されます。

設定ファイルの書き方

# /etc/logrotate.d/myapp の例
/var/log/myapp/*.log {
    daily              # ローテーション頻度(daily/weekly/monthly)
    rotate 14          # 14世代分保持
    compress           # 古いログをgzipで圧縮
    delaycompress      # 最新の1世代は圧縮しない(アプリが書き込み中の可能性)
    missingok          # ログファイルがなくてもエラーにしない
    notifempty         # 空ファイルはローテーションしない
    dateext            # ファイル名に日付を付ける(app.log.2026-03-15)
    create 0640 myuser mygroup  # ローテーション後に新ファイルを作成
    postrotate
        # ローテーション後にサービスに通知(ログファイルを再オープンさせる)
        systemctl reload myapp > /dev/null 2>&1 || true
    endscript
}

主要なオプション一覧

オプション説明
daily/weekly/monthlyローテーション頻度
size 100Mファイルが100MB超えたらローテーション
rotate NN世代分保持(古いものから削除)
maxage NN日以上前のログを削除
compress / nocompressgzip圧縮の有無
copytruncate元ファイルをコピーしてから切り詰め(アプリ再起動不要)。コピーと切り詰めの間にごく短い時間があり、その間に書かれたログが失われる可能性がある
sharedscriptspostrotateスクリプトを1回だけ実行

動作確認とデバッグ

# ドライラン(実際には実行しない・設定の確認)
$ sudo logrotate -d /etc/logrotate.d/myapp

# 強制的にローテーションを実行(テスト用)
$ sudo logrotate -f /etc/logrotate.d/myapp

# 全設定を一括で確認
$ sudo logrotate -d /etc/logrotate.conf

# 実行履歴を確認
$ cat /var/lib/logrotate/status | grep myapp

Nginxのlogrotate設定例

# /etc/logrotate.d/nginx(デフォルト設定の確認・カスタマイズ)
/var/log/nginx/*.log {
    daily
    missingok
    rotate 52
    compress
    delaycompress
    notifempty
    create 0640 www-data adm
    sharedscripts
    postrotate
        # nginx にシグナルを送ってログファイルを再オープン
        if [ -f /var/run/nginx.pid ]; then
            kill -USR1 $(cat /var/run/nginx.pid)
        fi
    endscript
}

まとめ

  • 設定は /etc/logrotate.d/ にサービスごとに作成する
  • logrotate -d でドライランして設定を確認してから本番適用
  • compressdelaycompress の組み合わせが基本
  • postrotate でサービスに通知してログファイルを再オープンさせる
  • copytruncate はアプリ再起動なしでローテーションできるが、瞬間的にログが消える可能性あり

📋 Linuxサーバー運用・管理チェックリスト完全版でPhase 2の全要点を確認できます。

コメント

タイトルとURLをコピーしました