close

登入檔的輪替(logrotate)

登入檔的輪替(logrotate)
logrotate [-vf] logfile
    -v  :啟動顯示模式,會顯示 logrotate 運作的過程喔!
    -f  :不論是否符合設定檔的資料,強制每個登錄檔都進行 rotate 的動作!
logrotate -v /etc/logrotate.conf
 daily 指定轉儲週期為每天 weekly 指定轉儲週期為每週 monthly 指定轉儲週期為每月
*設定logrotate使/var/log/procmail.log能每天換一次並將記錄email出來

    /var/log/procmail.log {
    rotate 7
    daily
    prerotate
    mutt -a /var/log/procmail.log -s log`date +%y%m%d` dandy@mail.deanshoes.com </dev/null
    endscript
    create 0666 root root
}
------------------------------------------------------------------------------
logrotate 的寫法為:
將要被處理的登錄檔檔名 (包含絕對路徑) 寫在前面可以使用空白字元分隔多個登錄檔;
用 { } 包括所有的設定;
設定的項目與前面提到的相同,並且可加入輪替前 (pre) 與後 (post) 的一些特殊執
行的指令這個設定需與 sharedscripts .... endscript 設定合用才行;
    prerotate
    在啟動 logrotate 之前進行的指令,例如修改登錄檔的屬性等動作;
    postrotate
    在做完 logrotate 之後啟動的指令,例如重新啟動 (kill -1 或 kill -HUP)


##############################################################
/etc/logrotate.conf
weekly
# 預設每個禮拜對登錄檔進行一次 rotate 的工作

rotate 4
# 保留幾個登錄檔呢?預設是保留四個!

create
# 是否建立新的登錄檔來記錄呢?因為我們要繼續記錄,所以當然是建立囉!

#compress
# rotate 之後的登錄檔,要不要壓縮,通常是不要壓縮啦,但是如果你的系統很忙碌,
# 表示你的登錄檔很龐大的時候,那麼最好就是給他壓縮一下比較不會佔空間!
# 如果要壓縮,將 # 拿掉即可!不過,登錄檔副檔名會變成 messages.1.gz 喔!

include /etc/logrotate.d
# 將底下這個目錄中的所有檔案都讀進來執行 rotate 的工作!

/var/log/wtmp {
    monthly
    create 0664 root utmp
    rotate 1
}

arrow
arrow
    全站熱搜

    horace1123 發表在 痞客邦 留言(0) 人氣()