1. 程式人生 > 實用技巧 >apache的日誌切割

apache的日誌切割

當我們每訪問一次網站就會產生若干條日誌資訊,如果日誌都存放在一個檔案中,時間久了日誌檔案將會越來越大,不僅佔用空間也不方便運維和開發人員對日誌的分析;
此時就需要對日誌進行切割,比如按天或者按小時產生新的日誌檔案。

那麼如何進行日誌的切割呢?
1.首先第一步需要設定日誌檔案的路徑(預設存在的,可忽略該步驟)

#編輯配置檔案 vim /usr/local/apache2/etc/httpd.conf
ErrorLog "logs/error_log" #錯誤日誌
CustomLog "logs/access_log" common #訪問日誌
#指定日誌格式
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common

2.設定apache的日誌切割

#編輯配置檔案 vim /usr/local/apache2/etc/httpd.conf
#將ErrorLog "logs/error_log"註釋掉新增:
ErrorLog "|/usr/local/apache2/bin/rotatelogs -l /usr/local/apache2/logs/error_%Y%m%d.log 86400"
#將ErrorLog "logs/access_log"註釋掉新增:
CustomLog "|/usr/local/apache2/bin/rotatelogs -l /usr/local/apache2/logs/access_%Y%m%d.log 86400" combined
#|將日誌交給apache自帶的切割工具rotatelog,-l是校準北京時間,日誌的格式為 *_年與日.log 每天生成一個日誌檔案

3.檢查配置檔案語法並重啟apache

apachectl -t && apachectl restart

4.訪問網站,檢視logs下的日誌檔案,發現已經有了切割後的日誌檔案