上一篇 / 下一篇 2008-03-01 15:41:48 / 個(gè)人分類:其它
本文遵循創(chuàng)作共用版權(quán)協(xié)議,轉(zhuǎn)載請保留原文鏈接和原文作者
本文鏈接:http://9ng.cn/1/viewspace-27212
本文作者:九尾銀狐
1. 關(guān)于本文
本文將以cronolog 1.6.2、apache 2.2.6為例,以CentOS 5為平臺(tái),講述cronolog的安裝和設(shè)置。
2. 關(guān)于cronolog
cronolog是一個(gè)簡單的過濾程序,它從標(biāo)準(zhǔn)輸入設(shè)備讀入日志記錄,并把這些記錄寫入到輸出文件集,輸出文件的名字由一個(gè)文件名模板和當(dāng)前的日期時(shí)間組成。cronolog通常與web服務(wù)器一起使用,例如apache,用來安全地對日志文件按日期、月或其它特定的區(qū)間進(jìn)行分割。
3. 安裝cronolog
3.1 下載最新穩(wěn)定發(fā)行版(GA)的cronolog
訪問cronolog網(wǎng)站http://cronolog.org/download/index.html下載最新穩(wěn)定發(fā)行版的cronolog源碼包。本文使用的是1.6.2版本,在linux系統(tǒng)下用下面的命令下載:
wgethttp://cronolog.org/download/cronolog-1.6.2.tar.gz
3.2 解壓縮下載的源碼包
首先建立一個(gè)工作目錄( 筆者建議的目錄為/usr/local/src/cronolog ) :
mkdir -p /usr/local/src/cronolog
將下載的源碼包移至工作目錄:
mv cronolog-1.6.2.tar.gz /usr/local/src/cronolog
進(jìn)入工作目錄并用tar命令解壓源碼包:
cd /usr/local/src/cronolog
tar zxvf cronolog-1.6.2.tar.gz
命令執(zhí)行結(jié)束后,當(dāng)前工作目錄下將生成一個(gè)新的子目錄cronolog-1.6.2,此目錄下即為cronolog的源碼文件。
3.3 配置Makefile文件
進(jìn)入cronolog源碼目錄:
cd cronolog-1.6.2
執(zhí)行下面的命令可查看可配置選項(xiàng):
./configure --help
本文使用的配置命令如下:
CC=gcc CFLAGS="-O3" ./configure --prefix=/usr/local/cronolog
配置選項(xiàng)說明:
CC:C編譯器的名稱(用于運(yùn)行configure),本文示例為gcc
CFLAGS:C編譯器的標(biāo)志(用于運(yùn)行configure),本文示例為-O3,指定優(yōu)化級(jí)別為3
--prefix:指定安裝目錄,本文示例為/usr/local/cronolog
3.4 編譯源代碼
執(zhí)行下面的命令編譯源代碼:
make
3.5 安裝
執(zhí)行下面的命令安裝cronolog 到目標(biāo)路徑:
make install
3.6 目錄結(jié)構(gòu)
安裝完畢后,將在先前指定的目標(biāo)路徑中生成下列目錄:
./info cronolog信息文件(.info)目錄
./man cronolog幫助文件(man)目錄
./sbin cronolog二進(jìn)制文件目錄
4. cronolog的使用
cronolog通常以管道方式作為日志過濾程序在應(yīng)用的配置文件中調(diào)用。
直接用法是:
/path/to/cronolog [OPTIONS] logfile-spec
其中:
OPTIONS:cronolog的選項(xiàng),可通過下面示例中的-h 或 --help選項(xiàng)查看,此處不再介紹。
本文獲取幫助信息示例:
/usr/local/cronolog/sbin/cronolog -h
或:
/usr/local/cronolog/sbin/cronolog --help
logfile-spec: 是描述輸出的日志文件名的模板,每一個(gè)無前導(dǎo)%的字符都是文件名的組成部分,%后面跟一個(gè)字符為日期和時(shí)間格式串,將被下表列出的它們代表的實(shí)際字串所替換。
特殊格式串:
%% %字符
%n 新行
%t tab字符
時(shí)間格式串:
%H 24小時(shí)制小時(shí)(00..23)
%I 12小時(shí)制小時(shí)(01..12)
%p 本地AM/PM指示符
%M 分鐘(00..59)
%S 秒(00..61)
%X 本地時(shí)間(e.g.: "15:12:47")
%Z 時(shí)區(qū) (e.g. GMT),如果不能檢測出時(shí)區(qū),值為空
日期格式串:
%a 本地簡短星期名(e.g.: Sun..Sat)
%A 本地完整星期名(e.g.: Sunday .. Saturday)
%b 本地簡短月名(e.g.: Jan .. Dec)
%B 本地完整月名(e.g.: January .. December)
%c 本地日期與時(shí)間(e.g.: "Sun Dec 15 14:12:47 GMT 1996")
%d 一月中的第幾日(01 .. 31)
%j 一年中的第幾天 (001 .. 366)
%m 月名的數(shù)字表示 (01 .. 12)
%U 一年中以星期日為每周第一天計(jì)算的星期數(shù)(00..53, 第一周包括新年的第一個(gè)星期日)
%W 一年中以星期一為每周第一天計(jì)算的星期數(shù)(00..53, 第一周包括新年的第一個(gè)星期一)
%w 星期名的數(shù)字表示 (0 .. 6, 0為星期日)
%x 本地日期 (e.g. 今天在北京是: "15/12/96")
%y 不帶世紀(jì)的年(00 .. 99)
%Y 帶世紀(jì)的年(1970 .. 2038)
下面是在apache中的用法:
CustomLog "|/path/to/cronolog [OPTIONS] logfile-spec" [format]
OPTIONS、logfile-spec同上面的直接用法,format為apache配置指令CustomLog的日志格式參數(shù)。
下面是本文的示例:
修改apache配置文件,本文示例為/usr/local/apache-2.2.6/conf/httpd.conf:
vi /usr/local/apache-2.2.6/conf/httpd.conf
按下面的提示進(jìn)行修改:
將CustomLog指令,本文示例為
CustomLog logs/access_log common
更改為:
CustomLog "|/usr/local/cronolog/sbin/cronolog /usr/local/apache-2.2.6/logs/access_log.%Y%m%d" combined
指令解釋:
/usr/local/cronolog/sbin/cronolog 為cronolog二進(jìn)制文件絕對路徑
/usr/local/apache-2.2.6/logs/access_log.%Y%m%d 為輸出日志文件名模板,將按天生成類似下面文件名的日志文件/usr/local/apache-2.2.6/logs/access_log.20080301。
combined 為apache日志的格式名。
按你的實(shí)際情況修改完畢后重啟apache即可。
5. 結(jié)束語
至此,cronolog基本安裝配置完畢。希望本文能對初學(xué)者有所幫助。
聯(lián)系客服