2026年7月11日
2026年7月11日
logrotateの設定方法とログ管理の自動化
はじめに
ログファイルはシステムやアプリケーションの状態を把握するために重要な情報源ですが、ログファイルが増えるとメンテナンスが大変になります。logrotateはそのような問題を解決するための便利なツールです。logrotateを使用することで定期的にログファイルを圧縮・削除し、必要なログファイルだけを保持することが可能です。
症状・背景
- ログファイルが大量になり、管理や保存スペースに影響を与える場合
- ログファイルの閲覧頻度が高い場合
- 過去のログ情報が必要な場合
- システム監視とバックアップを自動化したい場合
手順・設定方法
ステップ1: パッケージのインストール
# logrotateパッケージがインストールされていない場合はインストールする
sudo apt-get install logrotate
ステップ2: 設定ファイルの作成または編集
# /etc/logrotate.d/ディレクトリに新しい設定ファイルを作成する
sudo nano /etc/logrotate.d/apache2
# 以下のように内容を記述
/var/log/apache2/*.log {
daily
rotate 30
compress
delaycompress
missingok
notifempty
}
ステップ3: 主要オプション/設定
# 毎日実行する
daily
# ログを30回保持する
rotate 30
# 前回のローテートが完了した時点で圧縮を行う
compress
# 新しいログファイルを作成したときに古いログファイルに圧縮を適用する
delaycompress
# ログファイルが存在しない場合、エラーを吐き出すのを抑制する
missingok
# ログファイルが空の場合、ローテートを行わない
notifempty
ステップ4: 应用/組み合わせ
# カスタムログファイルのローテーション設定を行うための設定
/var/log/custom/*.log {
weekly
rotate 52
compress
delaycompress
missingok
notifempty
postrotate
/usr/lib/systemd/systemd-logrotate --state /var/lib/systemd/coredump > /dev/null
endscript
}
ステップ5: 実践/トラブルシュート/監視
# logrotateを実行する
sudo logrotate -f /etc/logrotate.conf
# ログファイルの状態を確認する
ls -l /var/log/apache2/*.log
注意事項
- 重要ログは定期的にバックアップを行うことを忘れないでください。
- 前提として、ログファイルが一覧できる権限を持っていることを確認してください。
- ログのローテーション後にサービスを再起動する場合があるため、サービスの一時停止と復元が必要な場合は注意してください。
まとめ
1. logrotateのインストール: 必要に応じてパッケージをインストールします。
2. 設定ファイルの作成: カスタムのローテーションポリシーを作成します。
3. 主要オプション/設定: 日毎や週毎など、定期的なローテーション周期と回数を指定します。
4. 応用/組み合わせ: 一連のローテーションコマンドを使用して複雑な設定を行うことができます。
5. 実践/トラブルシュート/監視: 実際にlogrotateを起動し、状態を確認します。
関連記事: