小紅帽技術論壇 在這裡你可以看到你訂閱的主題,悄悄話,編輯個人資料及環境設定 免費註冊! 行事曆 搜尋其他會員 常見問題
搜尋 小紅帽流量分析 小紅帽專用irc 聊天室 Web 版!建議安裝使用 hmirc 軟體! 回首頁 登出
小紅帽技術論壇 : Powered by vBulletin version 2.2.9 小紅帽技術論壇 > 電腦類 > Unix-like 系統討論板 > FreeBSD 系統討論板 > [教學]使用 logrotate 來管理及備份日誌檔
  上一篇主題   下一篇主題
作者
主題、內容    發表新的文章     回覆文章

CreMaker
板主


註冊日期: Aug 2001
來自: 台北縣永和市
發表文章數: 2533

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

做為一個系統的管理者,時時注意日誌檔是一個非常重要的工作。而日誌檔的備份工作也是個非常重要的,那麼在 FreeBSD 中有無自動備份日誌檔的軟體呢?

我們可以使用 /usr/local/sysutils/logrotate 來達到這個目的..

logrotate 工作原理說明

1. logrotate 是配合 cron 來使用
2. 一般是以 daily (每日)來執行,可將定時執行的程序放在 /etc/periodic/daily/ 或是使用 crontab 來做
3. 在 logrotate 中我們可設定 daily weekly 或是 monthly 的時間間隔(可視日誌檔的大小及性質來設定)

4. 一般在 FreeBSD 中,有些日誌檔是自動備份的,如

•console.log
•cron
•maillog
•messages
•wtmp
.....

有些則不會自動備份及壓縮,其中最大的可能就是 httpd-access.log 這個檔案了。以下我們就以這個檔案做說明

● 安裝 logrotate

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

安裝後會產生以下檔案

1. /usr/local/sbin/logrotate 這個執行檔
2. /var/lib/ 這個目錄,在這個目錄中執行 logrotate 後會產生一個 logrotate.status 的報告檔案
3. logrotate 的 man file,你可用 man logrotate 來看相關用法

● 語法設定

logrotate [-f] logrotate.conf

=> -f 一般是在測試時使用,代表 force 的意思
=> logrotate.conf 代表其設定檔,這個一定要設定,檔名可自取,我們可在 /usr/local/etc/ 下設定這個檔案

● logrotate.conf 的設定說明

我們可將 logrotate.conf 放在 /usr/local/etc/ 目錄下,檔名取為 logrotate.conf 以利管理

一個典型的 logrotate.conf 如下:

errors root
compress

/var/log/httpd-access.log {
copytruncate
create 644 root wheel
weekly
rotate 7
uncompress
size=1000k
}

說明:

1. errors => 有錯誤時會 mail 一封信給 root
2. compress => 代表要使用 gzip 來壓縮
3. /var/log/http-access.log { .... } 代表一組設定
4. 在 {...} 外的表示內定值,如 compress 代表要透過 gzip 壓縮,但在 /var/log/httpd-access.log {....} 中,我們使用了 uncomress 則表示不壓縮 httpd-access.log 的備份檔
5. copytruncate => 先將日誌檔 copy 到另一個檔案儲存再清空
6. create ... => 產生一個新的 httpd-access.log 檔,644 root wheel 是這個檔案的權限設定
7. weekly 表示每個星期執行一次,另外尚有 daily 及 monthly 可用
8. rotate => 表示備份檔的數目,如 7 則最多會產生 1-7 個備份檔
9. uncompress => 不壓縮備份檔
10. size=1000k => 代表檔案大於 1000k 時就備份,另外也可使用 m

● 測試

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

過一會,應該會產生以下檔案

1. 在 /var/log/ 下產生 httpd-access.log.1
2. 新的(空的) httpd-access.log
3. 在 /var/lib/ 下產生一個 logrotate.ststus 的記錄檔

● 定時啟動你的 logrotate

1. 假設我們使用 /etc/periodic/daily/ (每日定時執行的設定目錄)

# cd /etc/periodic/daily

2. 編輯一個定時啟動的檔案及設定為可執行,假設檔名為 101.logrotate

# vi 101.logrotate

=> 加入以下內容並存檔

/usr/local/sbin/logrotate /usr/local/etc/logrotate.conf

=> 設為可執行

# chmod +x 101.logrotate

如此,以後只要時間一到 logrotate 就會自動備份你的日誌檔了..


● 參考資料

man logrotate



---------------------------------------------------------- 簽名列 -----------

^^魔 誤^^

心魔 <=> 人生最大的苦..
幾多波折,我終於知道自己要些什麼,那你呢?


歡迎來unix-like 系統討論板 看看..
天馬行空板 也歡迎你哦..

----------------------------------------------------------
發問時,請言簡意賅的陳述您的問題..
並請善用小紅帽 搜尋功能
說不定答案就在堶掖..^.^
----------------------------------------------------------

文章編號:0 | 向板主反映這篇文章 | 顯示 IP

CreMaker 已離線! Old Post 03-31-2002 07:18
點選這裡查看 CreMaker 的個人檔案 按這裡傳送悄悄話給 CreMaker 參觀 CreMaker 的個人首頁! 按這裡搜尋 CreMaker 所發表的文章 按這裡將 CreMaker 加入你的好友名單 回應這篇文章含引言 按這裡編輯或刪除文章

mousan
普通會員


註冊日期: Apr 2001
來自: 台北縣
發表文章數: 59

抱歉....我又來麻煩大家了
我照著上面的方面操作安裝時,出現了以下的訊息:

#include "confdefs.h"
#include <libintl.h>
configure:2231: checking for mcheck.h
configure:2241: cc -E -I/usr/local/include conftest.c >/dev/null 2>conftest.out
configure:2237: mcheck.h: No such file or directory
configure: failed program was:
#line 2236 "configure"
#include "confdefs.h"
#include <mcheck.h>
configure:2231: checking for unistd.h
configure:2241: cc -E -I/usr/local/include conftest.c >/dev/null 2>conftest.out
configure:2268: checking for /usr/ucblib in LIBS
configure:2284: checking for GNU xgettext
(end of "config.log")
*** Error code 1

Stop in /usr/ports/devel/popt.
*** Error code 1

Stop in /usr/ports/archivers/rpm.
*** Error code 1

Stop in /usr/ports/sysutils/logrotate.

於是我就去找相關的資料,在 rc.conf 中加入了 linux_enable=YES
重開機後執行 kldstat 還是沒看到 linux.ko
重編 kernel 把 options LINUX 加入後依然無效
可以請各位前輩幫忙解惑嗎? 謝謝

文章編號:1 | 向板主反映這篇文章 | 顯示 IP

mousan 已離線! Old Post 04-07-2002 15:38
點選這裡查看 mousan 的個人檔案 點選這裡寄送 Email 給 mousan 按這裡傳送悄悄話給 mousan 按這裡搜尋 mousan 所發表的文章 按這裡將 mousan 加入你的好友名單 回應這篇文章含引言 按這裡編輯或刪除文章

CreMaker
板主


註冊日期: Aug 2001
來自: 台北縣永和市
發表文章數: 2533

引言:
原始作者是 mousan
抱歉....我又來麻煩大家了
我照著上面的方面操作安裝時,出現了以下的訊息:
2>conftest.out
configure:2268: checking for /usr/ucblib in LIBS
configure:2284: checking for GNU xgettext
(end of "config.log")
*** Error code 1

Stop in /usr/ports/devel/popt.
*** Error code 1

Stop in /usr/ports/archivers/rpm.
*** Error code 1

Stop in /usr/ports/sysutils/logrotate.

於是我就去找相關的資料,在 rc.conf 中加入了 linux_enable=YES
重開機後執行 kldstat 還是沒看到 linux.ko
重編 kernel 把 options LINUX 加入後依然無效
可以請各位前輩幫忙解惑嗎? 謝謝


一點都不麻煩,客氣了..

我看了你的問題,在我的另一套 FreeBSD 中做了一次,但不會有這種現象耶..

我的版本是 4.5 release..

另外,linux.ko 這個檔案是在 /modules/ 目錄中,這個跟在 kernel 支不支援 linux 應該沒關係,我二台都沒加上支援 linux 的功能..

另外這個 linux_enable="YES" ,我並沒去改它,這個設定在 /etc/defaults/rc.conf 中是設定成 "NO" ..

我通常碰到類似情況時,都是按照以下處理..

1. 先到相關 ports 下去 make clean,並記住是那些檔案,像你安裝時是在 popt-1.5.1 這堸控憚滿A先把這個檔案刪掉(用 pkg_delete)
2. make deinstall
3. 再重新做一次
4. 如不行,則再 make clean 一次,並將顯示出的檔案全部用 pkg_delete 刪掉,再做一次,檔案如下..

===> Cleaning for rpm-3.0.6_5
===> Cleaning for autoconf213-2.13.000227_1
===> Cleaning for automake14-1.4.5
===> Cleaning for gettext-0.10.35_1
===> Cleaning for gmake-3.79.1
===> Cleaning for libtool-1.3.4_2
===> Cleaning for m4-1.4_1
===> Cleaning for popt-1.5.1
===> Cleaning for logrotate-3.5.2

不知我的檔案和你有無差別..

有時可能跟你的編譯程式有關..

再試試,有問題再討論..另外,你有沒有使用 vmware,使用這個真的很方便,有需要我一併寄給你..



---------------------------------------------------------- 簽名列 -----------

^^魔 誤^^

心魔 <=> 人生最大的苦..
幾多波折,我終於知道自己要些什麼,那你呢?


歡迎來unix-like 系統討論板 看看..
天馬行空板 也歡迎你哦..

----------------------------------------------------------
發問時,請言簡意賅的陳述您的問題..
並請善用小紅帽 搜尋功能
說不定答案就在堶掖..^.^
----------------------------------------------------------

文章編號:2 | 向板主反映這篇文章 | 顯示 IP

CreMaker 已離線! Old Post 04-07-2002 16:47
點選這裡查看 CreMaker 的個人檔案 按這裡傳送悄悄話給 CreMaker 參觀 CreMaker 的個人首頁! 按這裡搜尋 CreMaker 所發表的文章 按這裡將 CreMaker 加入你的好友名單 回應這篇文章含引言 按這裡編輯或刪除文章

mousan
普通會員


註冊日期: Apr 2001
來自: 台北縣
發表文章數: 59

我依照前輩的方法試過了,結果還是一樣,在 popt 那裡錯誤結束
看來我是無福使用了 =.=
至於 vmware .... 我現在正在試驗當中,剛剛在安裝時出了點小錯誤
重灌應該就能解決了
到時我再試驗看看 logrotate 是否有解....

文章編號:3 | 向板主反映這篇文章 | 顯示 IP

mousan 已離線! Old Post 04-08-2002 00:39
點選這裡查看 mousan 的個人檔案 點選這裡寄送 Email 給 mousan 按這裡傳送悄悄話給 mousan 按這裡搜尋 mousan 所發表的文章 按這裡將 mousan 加入你的好友名單 回應這篇文章含引言 按這裡編輯或刪除文章

mousan
普通會員


註冊日期: Apr 2001
來自: 台北縣
發表文章數: 59

剛剛又試了一下,從 /stand/sysinstall 下以 package 的方式就成功了
真奇怪...... 呵呵
可能是由 ports 安裝時,一些相依存的程式版本不同吧

文章編號:4 | 向板主反映這篇文章 | 顯示 IP

mousan 已離線! Old Post 04-08-2002 01:20
點選這裡查看 mousan 的個人檔案 點選這裡寄送 Email 給 mousan 按這裡傳送悄悄話給 mousan 按這裡搜尋 mousan 所發表的文章 按這裡將 mousan 加入你的好友名單 回應這篇文章含引言 按這裡編輯或刪除文章

CreMaker
板主


註冊日期: Aug 2001
來自: 台北縣永和市
發表文章數: 2533

我想可能也是這個原因..

雖然由 ports 來安裝,可能版本較新,但有些時候,確實會有一些如 mousan 所言的 依存性 軟體的問題,可能是編譯軟體,或是相關軟體的版本問題吧..

package 都是編譯好的二位元碼,就比較沒有這個問題了..



---------------------------------------------------------- 簽名列 -----------

^^魔 誤^^

心魔 <=> 人生最大的苦..
幾多波折,我終於知道自己要些什麼,那你呢?


歡迎來unix-like 系統討論板 看看..
天馬行空板 也歡迎你哦..

----------------------------------------------------------
發問時,請言簡意賅的陳述您的問題..
並請善用小紅帽 搜尋功能
說不定答案就在堶掖..^.^
----------------------------------------------------------

------------------------------RedHat Forum------------------------
被 CreMaker 修改於 04-08-2002 at 04:52
------------------------------------------------------------------

文章編號:5 | 向板主反映這篇文章 | 顯示 IP

CreMaker 已離線! Old Post 04-08-2002 04:47
點選這裡查看 CreMaker 的個人檔案 按這裡傳送悄悄話給 CreMaker 參觀 CreMaker 的個人首頁! 按這裡搜尋 CreMaker 所發表的文章 按這裡將 CreMaker 加入你的好友名單 回應這篇文章含引言 按這裡編輯或刪除文章

目前使用的時域為(台北時間),現在時間是 02:30 。    發表新的文章     回覆文章
上一篇主題   下一篇主題
友善列印 | 把這一篇寄給好朋友! | 訂閱這個主題

跳至:
評分主題:
 

討論區權限說明:
不可以 發表新文章
不可以 回覆文章
不可以 上傳附加檔案
不可以 修改你發表的文章
HTML code 目前狀態是 關閉
vB code 目前狀態是 開啟
表情符號 目前狀態是 開啟
[IMG] code 目前狀態是 開啟



< 聯絡我們 - 小紅帽全球資訊網 >

中文化:第一版 by Eric 第二版 by Jolin 於 小紅帽全球資訊網
(版權所有,翻拷必究)
小紅帽技術論壇創立於 2000/09/15 ,使用 vBulletin 合法註冊版權