隨着網站的訪問量愈來愈大,web服務器產生的日誌文件也會愈來愈大,若是不對其進行分割管理,單個日誌文件會變得異常龐大,不利於對日誌進行綜合分析、監控等。另外,當服務器遇到故障時,運維人員就要打開日誌文件進行分析,打開的過程必然會消耗很長時間,也勢必會增長處理故障的時間。所以管理好海量的日誌文件對管理網站是有重大意義的。web
which rotatelogs
vim /etc/httpd/conf/httpd.conf
修改配置文件,主要是CustomLog參數apache
<VirtualHost *:80>
ServerAdmin admin@test.com
DocumentRoot "/usr/local/apache/htdocs"
ServerName www.test.com
ErrorLog "|/usr/sbin/rotatelogs -l /usr/local/apache/logs/www.test.com-error%Y%m%d.log"
CustomLog "|/usr/sbin/rotatelogs -l /usr/local/apache/logs/www.test.com-access%Y%m%d.log 86400" combined //定義訪問日誌格式,其中86400表示一天,即天天生成一個新的日誌文件
</VirtualHost>vim
注意:rotatelogs -l 使用本地時間代替GMT時間做爲時間基準,在一個改變GMT偏移量(好比夏令時)的環境中使用-l會致使不可預料的結果。服務器
mkdir -p /usr/local/apache/logs
mkdir -p /usr/local/apache/htdocs
service httpd stop //中止 service httpd start //開啓
tar xzvf cronolog-1.6.2.tar.gz -C /opt
cd /opt/cronolog-1.6.2/
./configure
make && make install
which cronolog
vim /etc/httpd/conf/httpd.conf
修改配置文件,主要是CustomLog參數運維
<VirtualHost *:80>
ServerAdmin admin@test.com
DocumentRoot "/usr/local/apache/htdocs"
ServerName www.test.com
ErrorLog "|/usr/local/sbin/cronolog /usr/local/apache/logs/www.test.com-error%Y%m%d.log"
CustomLog "|/usr/local/sbin/cronolog /usr/local/apache/logs/www.test.com-access%Y%m%d.log" combined
</VirtualHost>ide
service httpd restart