使用cronolog自動分割apache的日志。


 為了方便分析網站的日志,需要將apache的日志按周來分割,網上搜索了下,cronolog可以完成這個功能,實際操作了下,操作過程中參考了這篇文章(http://www.lampbo.org/linux-xuexi/linux-sever/apache-logs-rotate.html),在此,謝謝作者。

注:作者原文對於httpd.conf的日志的配置中cronolog的文件地址配置有誤,請參照我下面的操作記錄進行操作。

 

下面是操作記錄

 

#下載cronolog
wget http://cronolog.org/download/cronolog-1.6.2.tar.gz
#解壓縮
tar -xzvf cronolog-1.6.2.tar.gz
#進入目錄
cd cronolog-1.6.2
#列出所有文件
ll
#configure
./configure --prefix=/usr/local/cronolog
#發現缺很多包,安裝之
yum install gcc cc aclocal autoconf  automake  autoheader makeinfo
#再次configure
./configure --prefix=/usr/local/cronolog
#make
make
#安裝
make install
#進入httpd的配置文件目錄
cd /etc/httpd/conf
#備份httpd的配置文件
cp httpd.conf httpd.conf.20130628
#編輯httpd的配置文件
vim httpd.conf 

 

httpd.conf中修改如下兩個部分:

#默認的錯誤日志,注釋掉它
#ErrorLog logs/error_log

#cronolog的配置,我們需要新增的
ErrorLog "|/usr/local/cronolog/sbin/cronolog  /var/log/httpd/error_%Y_%W.log"



#默認配置的日志
#CustomLog logs/access_log combined
#cronolog的配置,我們需要新增的
CustomLog "|/usr/local/cronolog/sbin/cronolog  /var/log/httpd/access_%Y_%W.log" combined

配置好如上兩個部分后,我們的apache的錯誤日志和訪問日志都可以每周進行一次自動分割了。

 關於cronolog的使用(以下內容轉自:http://www.lampbo.org/linux-xuexi/linux-sever/apache-logs-rotate.html)

 

cronolog的用法和格式

語法:/path/to/cronolog [OPTIONS] logfile-spec

其中:

OPTIONS:cronolog的選項,可通過下面示例中的-h 或 –help選項查看

logfile-spec: 是描述輸出的日志文件名的模板,每一個無前導%的字符都是文件名的組成部分,%后面跟一個字符為日期和時間格式串,將被下表列出的它們代表的實際字串所替換。
特殊格式串:

 
  1. %%               %字符   
  2. %n                新行   
  3. %t                 tab字符  

時間格式串:

 
  1. %H               24小時制小時(00..23)   
  2. %I                12小時制小時(01..12)   
  3. %p               本地AM/PM指示符   
  4. %M             分鍾(00..59)   
  5. %S               秒(00..61)   
  6. %X              本地時間(e.g.: “15:12:47″)   
  7. %Z              時區 (e.g. GMT),如果不能檢測出時區,值為空  

日期格式串:

 
  1. %a             本地簡短星期名(e.g.: Sun..Sat)   
  2. %A            本地完整星期名(e.g.: Sunday .. Saturday)   
  3. %b            本地簡短月名(e.g.: Jan .. Dec)   
  4. %B            本地完整月名(e.g.: January .. December)   
  5. %c             本地日期與時間(e.g.: “Sun Dec 15 14:12:47 GMT 1996″)   
  6. %d            一月中的第幾日(01 .. 31)   
  7. %j             一年中的第幾天 (001 .. 366)   
  8. %m           月名的數字表示 (01 .. 12)   
  9. %U            一年中以星期日為每周第一天計算的星期數(00..53, 第一周包括新年的第一個星期日)   
  10. %W           一年中以星期一為每周第一天計算的星期數(00..53, 第一周包括新年的第一個星期一)   
  11. %w            星期名的數字表示 (0 .. 6, 0為星期日)   
  12. %x             本地日期 (e.g. 今天在北京是: “15/12/96″)   
  13. %y             不帶世紀的年(00 .. 99)   
  14. %Y             帶世紀的年(1970 .. 2038)  

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM