Linux全般


logrotate、ログローテーションのまとめ

ログをローテーションさせるにはlogrotateが必要です。
以下に詳細を記載します。

各種ファイル場所

設定メインファイル:基本このファイルを参照する。

# /etc/logrotate.conf

Includeされる設定ファイル

# /etc/logrotate.d/配下にあるファイル
logrotate.confにIncludeするデフォルトのディレクトリが記述されており、上記ディレクトリ配下のファイルは全て読み込まれる。
なお、Includeファイルの記述が優先的になるが、Includeファイルに記述されていない内容はlogrotate.confの内容が参照される。


設定確認コマンド

# logrotate -dv 設定ファイル

強制的にローテーション実行

# logrotate -f ファイル

各種オプションまとめ

rotate 数字 <--数字の分世代保存する。
例:rotate 15 <--15世代分保存する。
daily  <--毎日
weekly <--毎週ログローテートを実施する
yealy  <--毎年
compress <--圧縮する
delaycompress <--今の世代と一つ前の世代は圧縮せず、その前までを圧縮する
dateext <--保存したファイル名にyyyymmddを付加する
nodateext <--日付で保存せずに末尾に数字の連番を付加して保存する。
ifempty <--ログファイルが空でも処理する
notifempty <--ログファイルが空の場合は処理しない
missingok ←指定されたログファイルが無くてもエラーを出さず処理続行
sharedscripts ←複数のログファイルを指定している際は必要、これがないと複数ログファイルがローテーションされる際にpostrotate~endscriptが実行されてしまう

トラブルシュート

エラー logrotate: ALERT exited abnormally with [1]

上記エラーがmessagesに記述されていると、ログがローテーションされていません。
一度 logrotate -dv /etc/logrotate.conf を実行して、設定ファイルを確認した方が良いです。
ローテーション対象のディレクトリが無い場合など、そのせいで全てのログがローテーションされないことになります。


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2022-06-30 (木) 01:40:11