日志分割工具cronolog
生活随笔
收集整理的這篇文章主要介紹了
日志分割工具cronolog
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1. 關(guān)于本文
??? 本文將以 cronolog ?1.6.2、apache 2.2.6為例,以 CentOS?5 為平臺(tái),講述cronolog的安裝和設(shè)置。
2. 關(guān)于cronolog
??? cronolog是一個(gè)簡(jiǎn)單的過(guò)濾程序,它從標(biāo)準(zhǔn)輸入設(shè)備讀入日志記錄,并把這些記錄寫入到輸出文件集,輸出文件的名字由一個(gè)文件名模板和當(dāng)前的日期時(shí)間組成。cronolog通常與web服務(wù)器一起使用,例如apache,用來(lái)安全地對(duì)日志文件按日期、月或其它特定的區(qū)間進(jìn)行分割。
3. 安裝cronolog
3.1 下載最新穩(wěn)定發(fā)行版(GA)的cronolog
????? 訪問(wèn)cronolog網(wǎng)站 http://cronolog.org/download/index.html 下載最新穩(wěn)定發(fā)行版的cronolog源碼包。本文使用的是1.6.2版本,在linux系統(tǒng)下用下面的命令下載:
????? wget http://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)說(shuō)明:
????? 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通常以管道方式作為日志過(guò)濾程序在應(yīng)用的配置文件中調(diào)用。
??? 直接用法是:
??? /path/to/cronolog [OPTIONS] logfile-spec
??? 其中:
??? OPTIONS:cronolog的選項(xiàng),可通過(guò)下面示例中的-h?或 --help選項(xiàng)查看,此處不再介紹。
????本文獲取幫助信息示例:
??? /usr/local/cronolog/sbin/cronolog??-h?
????或:
/usr/local/cronolog/sbin/cronolog --help?
??? logfile-spec: 是描述輸出的日志文件名的模板,每一個(gè)無(wú)前導(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),如果不能檢測(cè)出時(shí)區(qū),值為空
??? 日期格式串:
??? %a 本地簡(jiǎn)短星期名(e.g.: Sun..Sat)
??? %A 本地完整星期名(e.g.: Sunday .. Saturday)
??? %b 本地簡(jiǎn)短月名(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)制文件絕對(duì)路徑
/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é)束語(yǔ)
????至此,cronolog基本安裝配置完畢。希望本文能對(duì)初學(xué)者有所幫助。
??? 本文將以 cronolog ?1.6.2、apache 2.2.6為例,以 CentOS?5 為平臺(tái),講述cronolog的安裝和設(shè)置。
2. 關(guān)于cronolog
??? cronolog是一個(gè)簡(jiǎn)單的過(guò)濾程序,它從標(biāo)準(zhǔn)輸入設(shè)備讀入日志記錄,并把這些記錄寫入到輸出文件集,輸出文件的名字由一個(gè)文件名模板和當(dāng)前的日期時(shí)間組成。cronolog通常與web服務(wù)器一起使用,例如apache,用來(lái)安全地對(duì)日志文件按日期、月或其它特定的區(qū)間進(jìn)行分割。
3. 安裝cronolog
3.1 下載最新穩(wěn)定發(fā)行版(GA)的cronolog
????? 訪問(wèn)cronolog網(wǎng)站 http://cronolog.org/download/index.html 下載最新穩(wěn)定發(fā)行版的cronolog源碼包。本文使用的是1.6.2版本,在linux系統(tǒng)下用下面的命令下載:
????? wget http://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)說(shuō)明:
????? 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通常以管道方式作為日志過(guò)濾程序在應(yīng)用的配置文件中調(diào)用。
??? 直接用法是:
??? /path/to/cronolog [OPTIONS] logfile-spec
??? 其中:
??? OPTIONS:cronolog的選項(xiàng),可通過(guò)下面示例中的-h?或 --help選項(xiàng)查看,此處不再介紹。
????本文獲取幫助信息示例:
??? /usr/local/cronolog/sbin/cronolog??-h?
????或:
/usr/local/cronolog/sbin/cronolog --help?
??? logfile-spec: 是描述輸出的日志文件名的模板,每一個(gè)無(wú)前導(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),如果不能檢測(cè)出時(shí)區(qū),值為空
??? 日期格式串:
??? %a 本地簡(jiǎn)短星期名(e.g.: Sun..Sat)
??? %A 本地完整星期名(e.g.: Sunday .. Saturday)
??? %b 本地簡(jiǎn)短月名(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)制文件絕對(duì)路徑
/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é)束語(yǔ)
????至此,cronolog基本安裝配置完畢。希望本文能對(duì)初學(xué)者有所幫助。
總結(jié)
以上是生活随笔為你收集整理的日志分割工具cronolog的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: php页面生成耗时分析
- 下一篇: vim 命令(全)