当前位置: > Linux服务器 > apache >

apache日志回滚的配置方法分享

时间:2014-08-12 22:17来源:linux.it.net.cn 作者:it

实现apache服务器中日志回滚的方法,请参考如下的介绍。

方法1,使用apache自带的rotatelogs 实现日志回滚。
在apache 的http.conf 文件中找到以下两个位置:
 

复制代码代码示例:
ErrorLog logs/error_log
CustomLog logs/access_log common

把以上两行注释后修改为:
 

复制代码代码示例:
ErrorLog "| /usr/local/apache/bin/rotatelogs /usr/local/apache/logs/error_%Y-%m-%d.log 86400 480"
CustomLog "| /usr/local/apache/bin/rotatelogs /usr/local/apache/logs/access_log_%Y_%m_%d.log 86400 480" common

重启apache,修改即时生效。

修改后的日志文件格式为:
access_log_2013_02_23.log
error_2013-02-23.log

为确保按天回滚日志,请每日凌晨重启该apache。
方法2,使用系统的logrotate工具来回滚日志:
在/etc/logrotate.d/下建立一脚本文件apache,内容为:
 

复制代码代码示例:
/usr/local/apache/logs/*log {
 missingok
  rotate 10
  daily
 notifempty
 sharedscripts
 postrotate
     /bin/kill -HUP `cat /usr/local/apache/logs/httpd.pid 2>/dev/null` 2> /dev/null || true
 endscript
}

或:
 

复制代码代码示例:
/var/log/httpd/*log {
    missingok
    notifempty
    sharedscripts
    postrotate
        /sbin/service httpd reload > /dev/null 2>/dev/null || true
    endscript
}

生成日志的格式为:
access_log.1 access_log.2 error_log.3 ......
error_log.1 error_log.2 error_log.3 ........

比较第一种比较适合24小时工作的apache服务器,第二种适合24小时都有访问量的apache 站点,因为第二种方法有可能会导致apache 挂了。

附,rotatelogs说明
rotatelogs logfile [ rotationtime [ offset ]] | [ filesizeM ]

选项
logfile

  它加上基准名就是日志文件名。如果 logfile中包含’%',则它会被视为用于的strftime(3)的格式字串;否则,它会被自动加上以秒为单位的.nnnnnnnnnn后缀。这两种格
式都表示新的日志开始使用的时间。

  rotationtime
  日志文件回卷的以秒为单位的间隔时间

  offset
  相对于UTC的时差的分钟数。如果省略,则假定为0,并使用UTC时间。比如,要指定UTC时差为-5小时的地区的当地时间,则此参数应为-300。

  filesizeM
  指定回卷时以兆字节为单位的后缀字母M的文件大小,而不是指定回卷时间或时差。
 
web日志分析工具webalizer安装与配置。

检测系统是否安装了gd 和gd-devel 包。如果没有则yum install
 

复制代码代码示例:
rpm -q gd
rmp -q gd-devel

下载webalizer 源码包:
http://www.mrunix.net/webalizer/download.html 和相关的中文语言包
安装方法:

复制代码代码示例:
./configure --with-language=chinese
make
make install

完成后将会有如下的文件:
/usr/bin/webalizer /etc/webalizer.conf /usr/local/bin/webalizer

配置:
vi /etc/webalizer.conf
也可以在启动的时通过-f 参数指定配置文件位置。
建议直接写配置文件的方式,这样一劳永逸。

1,指定logfile 的路径:

复制代码代码示例:
LogFile /var/log/httpd/access_log

2,指定分析后的输出位置

复制代码代码示例:
OutputDir  /var/www/usage

此工具主要用来分析网站的访问量的相关图形。

(责任编辑:IT)
------分隔线----------------------------