[精讚] [會員登入]
1989

[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

你可能感興趣的文章

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

Freebsd shell 的日期date表示法 Freebsd 的日期date功能超級強大,學會會很方便。

[FREEBSD11] ssh登入時免輸入密碼 自動程式需要進到別台機器時,沒辦法使用交談式方式輸入密碼,發現一個簡單的方法設定

Freebsd 套件和套件有關的指令 在 Freebsd 上的套件(packages)要如何安裝,可以自行下載檔案解壓編譯,或是利用 ports。

[Freebsd14] 登入時自動加載alias (bash shell) alias登入時自動加戴雖然是不起眼的設定,但也讓我找了好久

設定友善的FREEBSD shell環境 FREEBSD 的原始SHELL很不友善,以下設定可以讓你的FREEBSD 很友善,和CENTOS差不多,這樣子FREEBSD 就有好用的介面。

隨機好文

[Windows7] 移除IE10及移除IE11 Windows7 不得已的情況要移除IE11或IE10怎麼做?

為什麼要重造輪子? 什麼輪子?造什麼輪子?我為什麼要重造輪子?

一個邏輯的錯誤刪了全部檔案的經驗 今天本來想做一件很簡單的事,但卻足足浪費我多一倍的時間,再加上刪掉我全部的檔案,原因只是因為我自己的邏輯錯誤。

[PHP] 檢查檔案是否是圖檔 使用getimagesize函數檢查檔案是否是圖檔

APACHE的記錄檔格式 LogFormat 語法 在APACHE中有定義一些記錄的語法模版 在 /etc/httpd/conf/httpd.conf 中: LogForm