FreeBSD/newsyslog の変更点


*newsyslog [#mc81b283]

newsyslog というログローテーションさせるプログラム
syslog などでログを溜めると、いずれは溢れてしまいます。このために、 FreeBSD では、標準で newsyslog というプログラムを用いてログの管理を行っています。newsyslog は cron より呼び出され(標準では毎時間)、設定ファイル /etc/newsyslog.conf に定義された条件に合致したログを処理します。 

/etc/newsyslog.confを編集するだけで設定できます。

**家のマシンの/etc/newsyslog.conf [#ce87ec79]
 # cat /etc/newsyslog.conf
 # logfilename          [owner:group]    mode count size when  flags [/pid_file] [sig_num]
 /var/log/all.log                       600  7     *    @T00  J
 /var/log/amd.log                       644  7     100  *     J
 /var/log/auth.log                      600  7     100  *     J
 /var/log/console.log                   600  5     100  *     J
 /var/log/cron                          600  3     100  *     J
 /var/log/daily.log                     640  7     *    @T00  JN
 /var/log/debug.log                     600  7     100  *     J
 /var/log/kerberos.log                  600  7     100  *     J
 /var/log/lpd-errs                      644  7     100  *     J
 /var/log/maillog                       644  7     *    @T00  B
 /var/log/messages                      644  5     100  *     J
 /var/log/monthly.log                   640  12    *    $M1D0 JN
 /var/log/pflog                         600  3     100  *     JB    /var/run/pflogd.pid
 /var/log/ppp.log       root:network    640  3     100  *     B
 /var/log/security                      640  10    100  *     B
 /var/log/sendmail.st                   640  10    *    168   B
 /var/log/slip.log      root:network    640  3     100  *     J
 /var/log/weekly.log                    640  5     1    $W6D0 JN
 /var/log/wtmp                          640  3     *    @01T05 B
 /var/log/xferlog                       640  7     100  *       B
 /var/log/named.log                     640  7     *    $M1D0   B
 /var/log/dhcpd.log                     640  7     *    @T00  B
 /var/log/ddclient.log                  640  7     100  *  B
 /var/log/apache/access.log             644  9    *    $M1D0  B /var/run/httpd.pid
 /var/log/apache/error.log              644  9    *    $M1D0  B /var/run/httpd.pid
 /var/log/mysql/mysql.log               660  9    *    @T00   B
 /var/log/spam.log                      644  9    *    $M1D0  B
 /var/log/proftpd.log                   640  7     *    $M1D0  B
 /var/log/apache/suexec.log             644  9    *    $M1D0  B
 /var/log/apache/suphp.log              644  9    *    $M1D0  B
 /var/log/apache/php_error.log          660  3   10000 *      B

**書式 [#qa1bfa40]
 logfilename [owner:group] mode count size when [ZJB] [/pid_file] [sig_num]

***説明 [#cac9ab42]
|logfilename|保存されているシステムログファイル名。|
|owner:group|保存ログファイルの所有者とグループ名。オプション |
|mode|保存ログファイルのパーミッション|
|count|何回ローテーションするか。|
|size|ログファイルのサイズが size キロバイトに達した時に、ローテーションする指定。アスタリスク (`*')に設定されていると、サイズは考慮しません。 |
|when|ローテーションするタイミングを指定。アスタリスク (`*')に設定されていると、この項目は考慮しません。|
|~|日・週・月の時刻フォーマットの M は 月、W は週、D は日を意味しますので、 $W6D0 であれば、毎週土曜日の 24:00 の意味。 $M1D0 であれば、毎月1日の 24:00 の意味。 |
|~|時刻指定時は、`@' から始まるISO 8601 制限付時刻フォーマットと、 `$' から始まる日・週・月の時刻フォーマットがあります。 ISO 8601 制限付時刻フォーマットの T は、日付T時間のように時間の始まりを意味しますので、 @T00 であれば、日付設定無しで時間が 24:00 の意味。  @01T05 であれば、毎月 01 日の時間が 5:00 の意味。|
|[ZJB]|ログ保存時のオプション。Z は、gzip で圧縮する意味。 J は、bzip で圧縮する意味。B は、バイナリの意味。指定しない時は、- を入れることも可能。 |
|[/pid_file]|シグナルを送る DaemonのプロセスIDが保存されているファイルへのパス。 |
|[sig_num]|シグナルを送る時、どのシグナルを送るかを設定。 |