這裡介紹如何將所有記錄至 local4 的訊息另外指定儲存的檔案,並設定 logrotate 定期壓縮過時的記錄檔,這個設定方式也可以用於其他的 facility 設定,logrotate 提供 8 個 facility 給一般性的自定用途,從 local0 到 local7,設定的方式都是一樣的。
首先設定 rsyslog,將所有 local4 的訊息寫入 /var/log/ldap/ldap.log,設定的方式最主要的就是在 /etc/rsyslog.d 中加入一個設定檔 30-ldap.conf,內容如下:
# LDAP logs
local4.* -/var/log/ldap/ldap.log
# Uncomment the following to stop logging anything that matches the last rule.
# Doing this will stop logging kernel generated UFW log messages to the file
# normally containing kern.* messages (eg, /var/log/kern.log)
& ~
這樣就可以了,接著再設定 logrotate,讓系統定期整理記錄檔,將舊的檔案自動壓縮,更舊的就自動刪除,做法也很簡單,在 /etc/logrotate.d/ 中加入一個檔案 ldap,檔案內容如下:
var/log/ldap/ldap.log
{
rotate 24
monthly
missingok
notifempty
compress
delaycompress
sharedscripts
postrotate
reload rsyslog >/dev/null 2>&1 || true
endscript
}
這個設定是讓系統每個月定期整理記錄檔(monthly),保留 24 個月的記錄(rotate 24),將舊的記錄檔自動壓縮(compress),保留上個月的記錄檔不壓縮(delaycompress),也就是從上上個月的記錄檔開始壓縮,這樣可以方便查閱。
這樣就可以了,最後記得重新啟動 rsyslog 讓新的設定檔生效,若是 ubuntu 的話就執行:
service rsyslog restart
reload rsyslog
沒有留言:
張貼留言