newsyslog.conf 指出了哪个日志文件要被管理,要保留多少和它们什么时候被创建。日志文件可以在它们达到一定大小或者在特定的日期被重新整理。
# configuration file for newsyslog
# $FreeBSD$
#
#
filename [owner:group] mode count size when [ZB] [/pid_file] [sig_num]
/var/log/cron - 600 7 100 * Z - -
1.logfile_name
就是放Log檔的絕對路徑,一般都放在 /var/log/ 這個目錄下,如maillog、httpd-access.log......... 等
2.[owner:group]
Log檔案的所有者及群組,預設是root:wheel
3.mode
要產生Log檔的檔案權限,一般為 640 或600 ...等
4.count
產生的備份檔的數目,例如數字為 7則會有0~7個備份Log檔案及一個正在使用的Log檔
maillog
maillog.0.bz2
maillog.1.bz2
maillog.2.bz2
maillog.3.bz2
maillog.4.bz2
maillog.5.bz2
maillog.6.bz2
maillog.7.bz2
5.size
5.size
以 KB 為單位,代表當檔案達到多少KB時就備份,*表示不管檔案大小都要備份
6.when
即設定要備份Log時間,有二種表達方式 :
1. 使用ISO8601日期格式(日期前面要加上 @ 符號,日期和時間則以T分開)
標準表達格式為(假設時間是 2004-04-27 10:05:45) 則可寫成20040427T100545,但通常我們都是設定到日及時間,如下:
@T00 => 代表每日 0 時執行
@01T05 => 代表每個月的 01 日 05 時執行
2. 使用 FreeBSD專屬時間格式M W D (月、週、天、小時) 表達方式 :(前面要加上 $符號 )
$M5D6 -> 代表每個月第 5 天的 早上 6 點
$W0D4 -> 代表每週第一天(星期天)早上 4 點
有個有趣的參數L,即表示在某月的最後一天
$MLH22->每月最後一天的晚上10點執行
7.flags
備份時壓縮或處理的格式,如:
Z -> 使用 gzip 壓縮
J -> 使用 bzip2 壓縮
B -> 使用 二位元 檔
8.[/pid_file]
pid檔的絕對路徑,有設定則會送sig_num給指定的程式一般不會設定,但像要備份Apache log時就需要用到,備份完apache log需要重新啟動
/var/run/httpd.pid否則apache log備份完後會因為找不到Process ID而無法在產生新的http-access.log
9.[sig_num]
送給該daemon程式的signal number,預設是SIGHUP