ログファイルのローテーション

ログファイルの「ローテーション」機能

ログファイルを放置すると、情報がどんどん追記されていきます。するとログファイルの容量が肥大化し、システムを圧迫します。

「ローテーション」機能で古いログを切り分け肥大化を防ます。

ローテーション機能を使うと、「対象ファイルのリネーム」「ファイルの新規作成」が行われます。例えば「/var/log/love」ファイルをローテーションすると、「/var/log/love.1」にリネームされ、「/var/log/love」ファイルが新規作成されます。

次のローテーションでは、「love.1」が「love.2」になり、「love」が「love.1」へリネームされます。設定した規定ファイル数を超過すると、一番古いログファイルから削除されます。

logrotateユーティリティ

ログファイルのローテーション機能は「logrotateユーティリティ」から提供されます。logrotateユーティリティはcronで定期的に実行されます。設定は「/etc/logrotate.conf」ファイルで行います。

/etc/logrotate.confファイルの設定例

# ローテーション周期を1週間とする
weekly
# バックアップログを4週間保存する
rotate 4
# ローテーションさせたら、カラのログファイルを作成する
create
# ログファイルを圧縮する
compress
# /var/log/wtmpファイルの設定
/var/log/wtmp {
    monthly
    create 0664 root utmp

    rotate 1