この例の場合、/var/log/secure.log は毎日ローテーションされ、ログ ファイルのサイズが 100 MB を超えると、ローテーション プロセスが開始されます。
1. デフォルトでは、システムは /etc/logrotate.d/ にある syslog ファイルをチェックして、すべての主要な OS ログをローテーションします。
# cat /etc/logrotate.d/syslog
/var/log/cron
/var/log/maillog
/var/log/messages
/var/log/secure
/var/log/spooler
{
sharedscripts
postrotate
/bin/kill -HUP 'cat /var/run/syslogd.pid 2> /dev/null' 2> /dev/null || true
endscript
}
# 2. /var/log/secure に別のログ ローテーション ポリシーを追加するには、上記の syslog ファイルのエントリを単純にハッシュし、/etc/logrotate.d/ に別のファイルを作成します。
# cd /etc/logrotate.d/
# touch securelog
# chmod 644 securelog; chown root:root securelog
# vi securelog
/var/log/secure.log
{
daily
maxsize 100M
rotate 4
} 説明
毎日 – ログ ファイルを毎日ローテーションします。
maxsize – 追加で指定された時間間隔 (毎日、毎週、毎月、または毎年) の前でも、ログ ファイルが X サイズ バイトを超えると、ログ ファイルがローテーションされます。
ローテーション – ログ ファイルは [count] 回ローテーションされた後、削除されるか、メール ディレクティブで指定されたアドレスに送信されます。カウントが 0 の場合、古いバージョンはローテーションではなく削除されます。
詳細については、マニュアル ページ (man logrotate) を確認してください。
# man logrotate