この例の場合、/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