Chinaunix首页 | 论坛 | 博客
  • 博客访问: 287807
  • 博文数量: 78
  • 博客积分: 3018
  • 博客等级: 少校
  • 技术积分: 950
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-07 02:33
文章分类

全部博文(78)

文章存档

2013年(1)

2012年(19)

2011年(45)

2008年(13)

分类: LINUX

2011-03-21 09:47:03

两种方法:
1.用apche自带的工具rotatelogs.rotatelogs是一个配合Apache管道日志功能使用的简单程序。
    
引用
ErrorLog "|/usr/local/apache2/bin/rotatelogs /usr/local/apache2/logs/oa_prod-error_log%Y%m%d 86400"
    CustomLog "|/usr/local/apache2/bin/rotatelogs /usr/local/apache2/logs/oa_prod-access_log%Y%m%d 86400" common

其中86400 是一天会滚一次,也就是86400秒  
    
引用
ErrorLog "|/usr/local/apache2/bin/rotatelogs /usr/local/apache2/logs/oa_prod-error_log%Y%m%d 5M"
    CustomLog "|/usr/local/apache2/bin/rotatelogs /usr/local/apache2/logs/oa_prod-access_log%Y%m%d 5M" common

此配置会在日志文件大小增长到5兆字节时回卷该日志。

附:概要
rotatelogs logfile [ rotationtime [ offset ]] | [ filesizeM ]

选项
logfile
它加上基准名就是日志文件名。如果logfile中包含'%',则它会被视为用于的strftime(3)的格式字串;否则,它会被自动加上以秒为单位的.nnnnnnnnnn后缀。这两种格式都表示新的日志开始使用的时间。
rotationtime
日志文件回卷的以秒为单位的间隔时间
offset
相对于UTC的时差的分钟数。如果省略,则假定为0,并使用UTC时间。比如,要指定UTC时差为-5小时的地区的当地时间,则此参数应为-300。
filesizeM
指定回卷时以兆字节为单位的后缀字母M的文件大小,而不是指定回卷时间或时差。

可移植性
下列日志文件格式字串可以为所有的strftime(3)实现所支持,见各种扩展库对应的strftime(3)的手册。
%A
星期名全称(本地的)
%a
3个字符的星期名(本地的)
%B
月份名的全称(本地的)
%b
3个字符的月份名(本地的)
%c
日期和时间(本地的)
%d
2位数的一个月中的日期数
%H
2位数的小时数(24小时制)
%I
2位数的小时数(12小时制)
%j
3位数的一年中的日期数
%M
2位数的分钟数
%m
2位数的月份数
%p
am/pm 12小时制的上下午(本地的)
%S
2位数的秒数
%U
2位数的一年中的星期数(星期天为一周的第一天)
%W
2位数的一年中的星期数(星期一为一周的第一天)
%w
1位数的星期几(星期天为一周的第一天)
%X
时间 (本地的)
%x
日期 (本地的)
%Y
4位数的年份
%y
2位数的年份
%Z
时区名
%%
符号`%'本身

2.Cronolog是一个小巧高效的日志文件处理工具,可以实现自动的按规则生成周期性的日志文件。

下载安装()
#tar zxvf cronolog-1.6.2.tar.gz
#cd cronolog-1.6.2
#./configure && make && make install
# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
引用
   ErrorLog "|/usr/local/sbin/cronolog /usr/local/apache2/logs/phpmyadmin-error_log%Y%m%d"
    CustomLog "|/usr/local/sbin/cronolog /usr/local/apache2/logs/phpmyadmin-access_log%Y%m%d" common


参考文档:

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