| トップ | Solaris | FreeBSD | Gentoo | CentOS | Fedora | Windows | Tips | 自宅サーバの動作確認 | サイト内検索(Namazu) | サイト内検索(HE) |
FreeBSD標準のログローテーションプログラムである「newsyslog」の設定方法。
「newsyslog」はcronによって1時間に一回実行されている。
「newsyslog」の設定ファイルは /etc/newsyslog.conf であり、以下のフォーマットで1行に1つのログファイルの設定を記述する。
logfilename [owner:group] mode count size when [ZJB] [/pid_file] [sig_num] |
各行の項目は以下の内容を記述する。
| 項目名 | 説明 |
|---|---|
| logfilename | ローテートするログファイル。 |
| [owner:group] | ローテーションしたファイルのオーナとグループ。 |
| mode | パーミッション。 |
| count | 保存するバックアップファイルの数。 これは0から数えてこの数まで保存するということ。 例えばmaillogを5にしたらmaillog、maillog.0~maillog.5、と最終的に7つのログファイルが出来る。 |
| size | ここで指定したサイズ以上になったらログファイルのローテートを行う。 単位はKB(キロバイト)。 サイズでローテートを行わない場合、*(アスタリスク)を指定。 |
| when | ログローテートを行う時刻を指定。 時刻を指定しない場合、*(アスタリスク)を指定。 時刻の指定は以下の方法がある。 ・数字のみ 指定した数字の時間でローテートする。 例えば、24と指定したら24時間ごと。 ・@(アットマーク)を指定。 ISO8601の時刻指定。 ISO8601のフォーマートは例えば、2007年12月29日15時10分25秒だと以下のようになる。 20071229T151025 日付と時刻の間にTが入る。 この項目で指定する場合、一部のみの記述も出来るので、例えば毎月1日の0時にローテートする場合、@1T00というように指定する。 ・$(ドルマーク)を指定。 FreeBSDの時刻表記で、フォーマットは、MddDhh、Mdd、WwDhh、Ww、Dhhのいずれか。 M:毎月 W:毎週 D:毎日 dd:日(1~31) w:曜日(0:日曜日~6:土曜日) hh:時間(0~23) Lを指定した場合は月末になる。 $W0H2 : 毎週日曜の午前2時 $MLH22 : 月末の22時。 |
| [ZJB] | ローテートしたログの圧縮方法。 Z:gzで圧縮 J:bzで圧縮 B:バイナリでコピー(非圧縮) |
| [/pid_file] | ローテートする時にシグナルを与える必要がある時にPIDファイルを指定する。 |
| [sig_num] | デーモンにシグナルに送るシグナル番号を指定。 |
なお、sizeとwhenが両方指定した場合、どちらかを満たした場合(or)に実行する。
また、設定変更後はnewsyslogコマンドで設定を反映させる。
FreeBSD# newsyslog <= 設定の反映 |