logrotateの設定と使い方

ディレクトリ構成

OS標準のlogrotateは以下の設定ファイルを使用して稼動している。

  • 本体の動作設定
    /etc/logrotate.conf 
  • サービス毎の動作設定
    /etc/logrotate.d/

設定手順

1. サービス用のログローテート設定ファイルを作成
2. 設定ファイルを/etc/logrotate.d/に配置

パラメータ

  • 動作制御
    missingokファイルが存在しなくても処理を続行
    notifemptyログファイルが空の場合はローテートしない
    compressローテートしたファイルをgzip圧縮する
    rotate NNに指定した回数のローテートを行う
    create [権限] [所有者] [グループ]ローテート後の空ファイル生成
    sharedscripts複数のログを対象に
    postrotate処理終了時に実行するスクリプトの記述開始位置
    endscriptスクリプトの記述終了位置


  • ローテーション期間の指定
    daily日次
    weekly週次
    monthly月次

設定例1. (apache weekly 24rotate compress)

/home/httpd/default/logs/access.log {
  weekly
  compress
  rotate 24
  postrotate
    /etc/init.d/apachectl graceful
  endscript
}

設定例2. (apache daily 40rotate compress)

/home/httpd/default/logs/access.log {
  daily
  compress
  rotate 40
  postrotate
    /bin/kill -HUP `cat /var/run/httpd.pid 2>/dev/null` 2> /dev/null || true
  endscript
}

設定例3. (apache *log monthly 24rotate(2year) compress)

/home/httpd/default/logs/*.log {
  monthly
  compress
  rotate 24
  postrotate
    /etc/init.d/apachectl graceful
  endscript
}

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS