■ newsyslog
FreeBSD では標準でインストールされています。/usr/sbin/newsyslog です。
ローテートする基準としては、次の3点があります。
ログが指定サイズより大きくなった(キロバイト単位で指定)
最後に循環してから指定した時間が経過した
指定した時刻になった
newsyslog は cron(8) から起動します。指定した時間から1時間以内に起動されたらローテートを実行するという仕様になっていますので、1時間以上の間を開けてcronの設定をする必要があります。newsyslog の設定は /etc/newsyslog.conf でおこないます。設定項目は次のようになっています。
いつローテーションさせるかというタイミングの指定です。 指定方法は、多数あります。 * は時間的なタイミングではローテーションしないという意味です。 168 というのは、時間です。168÷24 → 7 ですから、最後に ローテーションされた日から1週間後にローテーションさせるという意味です。 @T00 は、毎日午前 0:00 にローテーションさせるという意味です。 @01T05 は、毎日午前 1:05 にローテーションさせるという意味です。 $W6D0 は、毎週土曜日の午前 0:00 にローテーションさせるという意味です。 $M1D0 は、毎月1日の午前 0:00 にローテーションさせるという意味です。 $ で指定するのが便利な使い方で、M を指定すると毎月になりその後に続く数字が日付になります。 W は毎週で、0 が日曜日で 6 の土曜日まで指定できます。 D はその日の時刻で 0 〜 23 の範囲で指定できます。
G
G 直訳すると『指定した logfile_name がシェルパターンであることを示し、このパターンにマッチする全ファイル名を newsyslog(8) がアーカイブすることを意味します。』って書いてあるんですが、わかりにくいですよね?「※2」