Solaris 10有一支程式logadm專門用來做系統log的管理工作,是一個純文字檔。
可以直接用vi去編輯它,不過建議用logadm指令來變更設定。
因為logadm變更設定時會檢查語法是否正確,所以建議還是使用指令去變更設定。
logadm管理SSHD的log範例語法:
logadm /var/adm/sshdlog -p 5d
/var/adm/sshdlog就是sshd的log。-p指的是週期(period), 有d(day)、w(week)、m(month)、y(year)。
如5d表示5天;2w,是二個星期(14天)。m雖然是指月,但是不分大小月,都是以30天為一個週期。
另外還有二個特別的時間值,一個就是now,另外一個是never 。now就是不管如何,馬上替換新的log檔;
never則是永遠都不要換,除非其他條件成立。
下面是幾個常用的參數:
-C n :保留的檔案數量,預設為10,超過保留數量的log會被刪除。
-p n[dwmy] :輪替週期天數
-s n[bkmg] :檔案大小,當指定的log檔的大小大於等於這個值時就更換。
-z n :被更換掉的舊檔以gzip來壓縮。
-a :log檔更換後要執行的指令。
-b :log檔更換前要執行的指令。
-w :將設定寫入設定檔。
-r :將此設定從設定檔中移除。
-V :列出設定檔的內容。
例如apache的error_log,希望每2MB換一次,最少保留8份:
# logadm -w /var/apache/logs/error_log -C 8 -s 2m -a 'kill -HUP `cat /var/run/apache2/httpd.pid`'