はじめに
ログローテーションの設定は/etc/logrotate.conf
ファイルや、/etc/logrotate.d
配下のファイルで行います。
この記事では、ログローテーションの設定に使用するディレクティブを整理しました。
# see "man logrotate" for details
# rotate log files weekly
weekly
# keep 4 weeks worth of backlogs
rotate 4
# create new (empty) log files after rotating old ones
create
# use date as a suffix of the rotated file
dateext
# uncomment this if you want your log files compressed
#compress
# RPM packages drop log rotation information into this directory
include /etc/logrotate.d
# no packages own wtmp and btmp -- we'll rotate them here
/var/log/wtmp {
monthly
create 0664 root utmp
minsize 1M
rotate 1
}
/var/log/btmp {
missingok
monthly
create 0600 root utmp
rotate 1
}
# system-specific logs may be also be configured here.
ログローテーションのディレクティブ
create・・・ログファイルを作成する
missingok・・・ログファイルが存在しなくても、エラーとして扱わない
nomissingok(デフォルト設定)・・・ログファイルが存在しない場合、エラーとして扱う
rotate・・・保存するログファイルの世代設定
daily, weekly, monthly, yearly・・・ローテーション周期の設定
compress・・・古いログファイルを圧縮する
delaycompress・・・次回のログローテーション時に古いログファイルを圧縮する
nocompress・・・古いログファイルを圧縮しない
compresscmd・・・ログファイルの圧縮コマンドを指定する(デフォルトでは、gzip)
sharedscripts・・・スクリプトを一度だけ実行する
postrotate/endscript・・・ログローテーション後に実行するスクリプト
notifempty・・・ログファイルが空の場合、ログローテーションしない
minsize, size・・・ログファイルが指定したファイルサイズより小さい場合、ログローテーションしない
nocreate・・・ログファイルを新規作成しない
mail・・・ログローテーション後にメール送信する