設定檔(/etc/rsyslog.conf)內定義著這些日誌檔的規則(Rules),這些規則是由Selectors所組成的Actions,參考以下表格。
註:Use a dash mark (-) as a prefix of the file path you specified if you want to omit syncing the desired log file after every syslog message is generated.(參考文章)
本人拿其中兩條規則來解譯:
- *.info;mail.none;authpriv.none;cron.none /var/log/messages 所有服務在Security Level 6 以上的訊息;除了mail訊息;除了登入認證訊息;除了自動排程訊息 都記錄在/var/log/messages //;分號表示後者條件可以覆蓋前者條件,例如mail.info會被mail.none所覆蓋。那麼為何要排除mail、authpriv及cron的訊息呢?請參考表格,因為他們都已經另外有日誌檔。
- *.emerg * 只要有服務發生emerg的訊息(Security Level 0、最嚴重的等級),立刻通知在線上的使用者,讓使用者來通知管理員修復服務。
若不希望日誌檔內容過於龐大,可使用日誌輪替(logrotate),依照檔案大小或週期性的產生數個日誌檔。
日誌輪替主設定檔範例:/etc/logrotate.conf
# rotate log files weekly
weekly //每個禮拜輪替一次
# keep 4 weeks worth of backlogs
rotate 4 //保留四個日誌檔
# create new (empty) log files after rotating old ones
create //原有日誌檔先被更名,再產生新的日誌檔。例如:vsftpd.log更名成vsftpd.log-20130101,再產生一個vsfptd.log的日誌檔。
# use date as a suffix of the rotated file
dateext //被更名的日誌檔加上日期,例如vsftpd.log-20130101
# uncomment this if you want your log files compressed
compress //被更名的日誌檔進行壓縮
# RPM packages drop log rotation information into this directory
include /etc/logrotate.d
# no packages own wtmp and btmp -- we'll rotate them here
/var/log/wtmp { //記錄使用者login及logout時間,指令last會查詢此檔案。
monthly
create 0664 root utmp
minsize 1M //若有註明檔案大小,則會忽略時間參數monthly
rotate 1
}
/var/log/btmp { //記錄嘗試登入失敗的使用者名稱及時間,指令lastb會查詢此檔案。
missingok
monthly
create 0600 root utmp
rotate 1
}
沒有留言:
張貼留言