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]|シグナルを送る時、どのシグナルを送るかを設定。 |