Posts Tagged ‘cronolog’
用rotatelogs实现日志轮循 Apache 提供了不把日志直接写入文件,而是通过管道发送给另外一个程序的能力。 这样就大大加强了对日志进行处理的能力。这个通过管道得到的程序可以是任何程序,如日志分析、压缩日志等。 要实现将日志写到管道的操作,只需要将配置中日志文件部分的内容替换为“|程序名”即可,例如: # compressed logs $ CustomLog “|/usr/bin/gzip -c >> /var/log/access_log.gz” common 这样就可以使用Apache自带的轮循工具rotatelogs来对日志文件进行轮循。rotatelogs基本是按时间或大小来控制日志的。 $ CustomLog “|/www/bin/rotatelogs /www/logs/secfocus/access_log 86400″ common 上面的示例中,Apache访问日志被发送给程序rotatelogs;rotatelogs将日志写入 /www/logs/secfocus/access_log, 并每隔86400秒(1天)对日志进行一次轮循。轮循以后的文件名为 /www/logs/secfocus/access_log.nnn, 这里nnn是开始记录日志的时间。因此,为了将日志按天对齐需要在凌晨00:00 启动服务, 使得每天轮循得到的日志刚好是完整一天的日志,以提供给访问统计分析程序进行处理。 如果是00:00开始生成新的日志,那么轮循得到的日志就是 access_log.0000。 用cronolog实现日志轮循 www.cronolog.org Cronolog是一个小巧高效的日志文件处理工具,可以实现自动的按规则生成周期性的日志文件 首先需要下载和安装cronolog,可以到http://www.cronolog.org下载最新版本的cronolog。 下载完毕以后,解压安装即可。方法如下所示: tar xvfz cronolog-1.6.2.tar.gz cd cronolog-1.6.2 ./configure make make check make install 这样就完成了cronolog的配置和安装,默认情况下cronolog是安装在/usr/local/sbin下。 修改Apache日志配置命令如下所示: $ CustomLog “|/usr/local/sbin/cronolog /www/logs/secfocus/%w/access_log” combined 这里%w表示按照日期在不同的目录下保存日志,这种方式会保存一周的日志。 [...]

