日誌切割工具cronolog詳解

原文:http://www.itnpc.com/news/web/146518034376587.html

大家都知道apache服務器,默認日誌文件是不分割的,一個整文件既不易於管理,也不易於分析統計。本文主要講解Web服務器日誌切割工具cronolog,下面我們就來詳細的講解一下。


1.上傳及安裝日誌輪詢工具cronolog

1.1解壓日誌輪詢工具cronolog

 

[root@localhost tools]# tar -zxvf cronolog-1.6.2.tar.gz       #解壓cronolog安裝包

 

[root@localhost tools]# cd cronolog-1.6.2

 

1.2安裝日誌輪詢工具cronolog

[root@localhost cronolog-1.6.2]# ./configure       #配置

[root@localhost cronolog-1.6.2]# make                #編譯安裝

[root@localhost cronolog-1.6.2]# make install


2.cronolog日誌輪詢配置說明。

編輯apache配置文件

[root@localhost ~]# vim /usr/local/apache/conf/httpd.conf 

利用vim命令定位CustomLog    如下圖所示 

 

 

 

錯誤寫法:

CustomLog“|/usr/local/sbin/cronolog    logs/access_www_%w.log”combined

提示:cronolog輪詢日誌的正確寫法,被輪詢的日誌路徑要寫全路徑。

正確寫法:

新建日誌保存路徑:

[root@localhost ~]# mkdir -p /website/logs     #日誌的存儲路徑

 

[root@localhost ~]# tree /website                     #檢查新建日誌文件結果

/website

`-- logs

按天輪詢(生產環境常見用法,推薦使用):

CustomLog“|/usr/local/sbin/cronolog     /website/logs/access_www_%Y%m%d.log”combined

提示:這是大多數網站的常規配置方法(按天記錄日誌,日誌不會自動覆蓋)

 

按小時輪詢(生產環境較常見用法)

CustomLog“|/usr/local/sbin/cronolog     /website/logs/access_www_%Y%m%d%H.log”combined

提示:如果需要及時詳細分析apache日誌,此配置可能比較適用。結尾_%Y%m%d%H爲日期的格式寫法。


按周輪詢(生產環境常見用法)

CustomLog“|/usr/local/sbin/cronolog     /website/logs/access_www_%w.log”combined


下面我們以按天輪詢進行示例:

編輯配置文件/usr/local/apache/conf/httpd.conf  

註釋如下內容:

CustomLog "logs/access_log" common

增加如下內容:

CustomLog“|/usr/local/sbin/cronolog     /website/logs/access_www_%Y%m%d.log”combined

具體如下圖所示:

 



 

 

保存修改;


3.檢查日誌生成情況

1)打開瀏覽器:輸入http://x.x.x.x (x.x.x.x爲apache服務器IP地址);

2)[root@localhost ~]# cd /website/logs/        #進入日誌保存文件夾

     [root@localhost logs]# ll                               #檢查訪問日誌生成情況

     total 8

     -rw-r--r--. 1 root root 405 Jun  5 01:35 access_www_20160605.log

    -rw-r--r--. 1 root root 186 Jun  6 16:43 access_www_20160606.log

經過測試檢驗,日誌已按天輪詢;


4.指定計劃任務:每天打包前一天的日誌,每天刪除半月前的打包日誌(利用crontab定時任務,具體操作如下)

 

[root@localhost ~]# crontab -e

0 1 * * * /usr/sbin/ntpdate pool.ntp.org > /dev/null 2>&1   #每天一點鐘同步時間

30 1 * * * /bin/tar -zcf /website/logs/access_www_`date -d yesterday +%Y%m%d` .tar.gz /website/logs/access_www_`date -d yesterday +%Y%m%d`.log#每天1點30分打包前一天的日誌文件

0 2 * * * /usr/bin/find /website/logs -name access_www_*.tar.gz -mtime +15 -exec rm -rf {} \;  #每天2點刪除15天前的打包日誌文件


5.cronolog 總結 

 

好了,到這裏我們的cronolog工具就講解完成了。有博友會問爲什麼不用apache自帶的日誌分割工具?apache自帶的日誌分割工具rotatelogs,據說在進行日誌切割時容易丟日誌,所以這裏我們就用cronolog來做日誌切割。最後,希望大家有所收穫^_^……

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章