Chinaunix首页 | 论坛 | 博客
  • 博客访问: 108106
  • 博文数量: 29
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 397
  • 用 户 组: 普通用户
  • 注册时间: 2014-12-26 15:36
文章分类

全部博文(29)

文章存档

2016年(3)

2015年(13)

2014年(13)

我的朋友

分类: 系统运维

2014-12-26 18:38:22


参考:


cronolog
分割日志


      默认
Apache日志默认不分割的,对于网站管理员来讲,很多人都会遇到网站的日志文件填满了,而手动删除又很麻烦,所以有聪明的程序员为我们想到了日志轮询的程序。


      cronolog
是一个简单的过滤程序,它从标准输入 设备读入日志记录,并把这些记录写入到输出文件集,输出文件的名字由一个文件名模板和当前的日期时间组成。cronolog通常与web服务器一起使用, 例如apache,用来安全地对日志文件按日期、月或其它特定的区间进行分割。当然也可以配置来分割其他服务的日志,如nginx,lighttpd

 

1安装cronolog

#wget   
#tar -xzvf cronolog-1.6.2.tar.gz
#cd cronolog-1.6.2
#./configure --prefix=/usr/local/cronolog
#make
#make install

2cronolog的用法和格式

语法:/path/to/cronolog [OPTIONS] logfile-spec

其中:

OPTIONScronolog的选项,可通过下面示例中的-h 或 –help选项查看

logfile-spec: 是描述输出的日志文件名的模板,每一个无前导%的字符都是文件名的组成部分,%后面跟一个字符为日期和时间格式串,将被下表列出的它们代表的实际字串所替换。

特殊格式串:

  1. %%               %字符   

  1. %n                新行   

  2. %t                 tab字符  

时间格式串:

  1. %H               24小时制小时(00..23)   

  2. %I                12小时制小时(01..12)   

  3. %p               本地AM/PM指示符   

  4. %M             分钟(00..59)   

  5. %S               (00..61)   

  6. %X              本地时间(e.g.: “15:12:47″)   

  7. %Z              时区 (e.g. GMT),如果不能检测出时区,值为空  

日期格式串:

  1. %a             本地简短星期名(e.g.: Sun..Sat)   

  2. %A            本地完整星期名(e.g.: Sunday .. Saturday)   

  3. %b            本地简短月名(e.g.: Jan .. Dec)   

  1. %B            本地完整月名(e.g.: January .. December)   

  1. %c             本地日期与时间(e.g.: “Sun Dec 15 14:12:47 GMT 1996″)   

  1. %d            一月中的第几日(01 .. 31)   

  1. %j             一年中的第几天 (001 .. 366)   

  2. %m           月名的数字表示 (01 .. 12)   

  1. %U            一年中以星期日为每周第一天计算的星期数(00..53, 第一周包括新年的第一个星期日)   

  1. %W           一年中以星期一为每周第一天计算的星期数(00..53, 第一周包括新年的第一个星期一)   

  2. %w            星期名的数字表示 (0 .. 6, 0为星期日)   

  1. %x             本地日期 (e.g. 今天在北京是: “15/12/96″)   

  2. %y             不带世纪的年(00 .. 99)   

  3. %Y             带世纪的年(1970 .. 2038)  


3)配置apache使用cronolog分割日志

使用cronolog分割日志的配置中,日志文件名必须以绝对路径(全路径)呈现

下面给出一些示例:

1)对于apache服务日志

#vim httpd.conf

  1. CustomLog logs/access_log combined  //默认  

更改为:

CustomLog "|/usr/local/cronolog/sbin/cronolog /etc/httpd/logs/access_%Y%m%d.log" combined

2)虚拟主机,在VirtualHost内添加

ServerAdmin root.izp.com

DocumentRoot /var/www/html/web1

ServerName www1.izp.com

CustomLog "|/usr/local/cronolog/sbin/cronolog /etc/httpd/logs/www1.izp.com-access_%Y%m%d.log" combined

ErrorLog "|/usr/local/cronolog/sbin/cronolog /etc/httpd/logs/www1.izp.com-error_%Y%m%d.log"

#ErrorLog logs/www1.izp.com-error_log

#CustomLog logs/www1.izp.com-access_log common

 

4)服务重启


/etc/init.d/httpd reload

 

[root@svr1 logs]# ll /etc/httpd/logs/www1.izp.com-*

-rw-r--r-- 1 root root 6405 Oct 26 01:06 www1.izp.com-access_20121026.log

-rw-r--r-- 1 root root 477 Oct 26 01:04 www1.izp.com-access_log

-rw-r--r-- 1 root root 1620 Oct 26 01:05 www1.izp.com-error_20121026.log

-rw-r--r-- 1 root root 0 Oct 26 01:03 www1.izp.com-error_log

 

 


阅读(1057) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:Hadoop 学习笔记

给主人留下些什么吧!~~