Unix 系統中的日誌檔存放在 /var/log/ 中,可供我們查錯及觀察。日誌檔最大的問題是會不斷的長大。在 FreeBSD 中,有些日誌檔是有自動歸檔整理,如
‧console.log
‧cron
‧maillog
‧messages
‧wtmp
這些檔基本上很難爆,因為他們會定時的壓縮。
但是其他的日誌檔如果不定時去清空,也許就會長大到非常的可怕的地步,像我曾看過的網頁記錄,才三個月就達3G。
手動清空
如果要將記錄內容清空,移除再建立是一個方法,但不是很好的方法,可以採用下面這個指令
例如:
就可以輕鬆的將記錄檔清空
使用 logrotate來定時壓縮及分檔備份
所以我們可以使用 /usr/local/sysutils/logrotate 來定時壓縮及分檔備份,也可以避免檔案長太大。
一、安裝
系統 7.1-RC1 FreeBSD 7.1-RC1
# make install
二、設定
# cp logrotate.conf.sample logrotate.conf
# vi logrotate.conf
# 廣域變數
# 週期 daily weekly monthly
weekly
# 保存 13x 週期的logs,13 週約為三個月
rotate 13
# 採用 gzip 壓縮
compress
# RPM packages drop log rotation information into this directory
# include /usr/local/etc/logrotate.d
# 要備份的檔案
/var/log/http-access/www.domain.com.log {
copytruncate
create 640 root wheel
size=100M
}
三、測試
<正確的話沒任何的回應>
四、加入排程
加入一行
參考連結
[1] http://redhat.ecenter.idv.tw/bbs/showthread.php?threadid=31899&highlight=logrotate
原文 2010-04-01 16:45:06 2009-10-30 10:52:54