[精讚] [會員登入]
1928

[FREEBSD] 使用 logrotate 來管理及備份日誌檔

Unix 系統中的日誌檔存放在 /var/log/ 中,可供我們查錯及觀察使用。日誌檔最大的問題是會不斷的長大。

分享此文連結 //n.sfs.tw/11332

分享連結 [FREEBSD] 使用 logrotate 來管理及備份日誌檔@新精讚
(文章歡迎轉載,務必尊重版權註明連結來源)
2019-10-24 14:11:30 最後編修
2017-06-19 01:53:56 By 張○○
 

自動目錄

Unix 系統中的日誌檔存放在 /var/log/  中,可供我們查錯及觀察。日誌檔最大的問題是會不斷的長大。在 FreeBSD 中,有些日誌檔是有自動歸檔整理,如

‧console.log
‧cron
‧maillog
‧messages
‧wtmp

這些檔基本上很難爆,因為他們會定時的壓縮。

但是其他的日誌檔如果不定時去清空,也許就會長大到非常的可怕的地步,像我曾看過的網頁記錄,才三個月就達3G。

手動清空

如果要將記錄內容清空,移除再建立是一個方法,但不是很好的方法,可以採用下面這個指令

例如:

# cat /dev/null > /var/log/httpd-error.log

就可以輕鬆的將記錄檔清空

使用 logrotate來定時壓縮及分檔備份

所以我們可以使用 /usr/local/sysutils/logrotate 來定時壓縮及分檔備份,也可以避免檔案長太大。

一、安裝

系統 7.1-RC1 FreeBSD 7.1-RC1

# cd /usr/ports/sysutils/logrotate
# make install

二、設定

# cd /usr/local/etc/
# 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
}

三、測試

# logrotate -f /usr/local/etc/logrotate.conf

<正確的話沒任何的回應>

四、加入排程

# crontab -e

加入一行

10 0 * * 0 /usr/local/sbin/logrotate /usr/local/etc/logrotate.conf

參考連結

[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

END

你可能感興趣的文章

[FREEBSD10] 安裝 dhcp 伺服器 Freebsd10 安裝 dhcp for IPv4伺服器

Freebsd上php+ session 的問題 php的session在freebsd上竟然預設是關掉的?簡直沒氣死我。

[Freebsd] 利用pf達成port forwarding 及nat 為了達成port forwarding 及NAT 的功能,不斷思考加上試了三天終於試出來。

[Freebsd] 查看dhcp客戶端 Freebsd如何能知道目前的租約及有效狀態

Freebsd11+sudo 使用sudo模組讓帳號具有root權限 linux系列中很好用的sudo,在freebsd中也可以使用

[FreeBSD] 查看檔案詳細資訊 利用stat查看檔案詳細資訊

隨機好文

[Win7] 燒錄 iso 檔 在Windows7 中內建燒錄程式,可以直接把檔案拉到光碟機裡,再執行燒錄。

好用的3+2碼郵遞區號查詢系統推薦 網路上找到用地址輸入判斷3+2碼郵遞區號的辨識率不高,除了這個網站…

兩次使用InnoDB的慘痛經驗 Mysql 的Innodb引擎雖然好用,但是我得說說我兩次的慘痛經驗,這讓我考慮以後可能不會再使用innodb了

分享還是炫耀? 是分享還是炫耀,取決於對方的的心態和你的心態...

[MySQL/Mariadb] console 將查詢結果輸出到檔案 在mysql 的console中該如何將查詢結果輸出到檔案?