Chinaunix首页 | 论坛 | 博客
  • 博客访问: 316304
  • 博文数量: 240
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 50
  • 用 户 组: 普通用户
  • 注册时间: 2016-08-04 18:14
文章分类

全部博文(240)

文章存档

2017年(8)

2014年(4)

2013年(15)

2012年(4)

2011年(14)

2010年(55)

2009年(140)

我的朋友

分类: 系统运维

2011-03-21 21:41:57

一、安装cronolog

# wget http://cronolog.org/download/cronolog-1.6.2.tar.gz

2 # tar zxvf cronolog-1.6.2.tar.gz

3 # cd cronolog-1.6.2

4 # ./configure

5 # make && make install

查看cronolog安装后所在目录(验证安装是否成功)

# which cronolog

一般情况下显示为:/usr/local/sbin/cronolog


 

二、配置

apache下httpd.conf修改如下配置


LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" apache_front_log

LogFormat "%{Host}i %{X-Forwarded-For}i %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" nginx_front_log

 

# CustomLog "logs/access_log" common
CustomLog "|/usr/admin/cronolog/sbin/cronolog /home/admin/apache/logs/access_%Y%m%d.log" common

# ErrorLog "logs/error_log"
ErrorLog "|/usr/admin/cronolog/sbin/cronolog /home/admin/apache/logs/error_%Y%m%d.log"


三、说明

 

rotatelogs 是 Apache 2.2 中自带的管道日志程序,参数如下(参见:http://lamp.linux.gov.cn/Apache/ApacheMenu/programs/rotatelogs.html)

语法

rotatelogs [ -l ] logfile [ rotationtime [ offset ]] | [ filesizeM ]

选项

-l

使用本地时间代替GMT时间作为时间基准。注意:在一个改变GMT偏移量(比如夏令时)的环境中使用-l会导致不可预料的结果。

logfile

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

rotationtime

日志文件滚动的以秒为单位的间隔时间。

offset

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

filesizeM

指定以filesizeM文件大小滚动,而不是按照时间或时差滚动。

ErrorLog "|/usr/admin/cronolog/sbin/cronolog /home/admin/apache/logs/error_%Y%m%d.log"

ErrorLog "|/usr/admin/cronolog/sbin/rotatelogs  /home/admin/apache/logs/error_%Y%m%d.log"

这两个管道日志文件程序还有一点不同之处是使用 cronolog 时如果日志是放在某个不存在的路径则会自动创建目录,而使用 rotatelogs 时不能自动创建,这一点要特别注意。


阅读(1639) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~