分类: 系统运维
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
(2)cronolog的用法和格式
语法:/path/to/cronolog [OPTIONS] logfile-spec
其中:
OPTIONS:cronolog的选项,可通过下面示例中的-h 或 –help选项查看
logfile-spec: 是描述输出的日志文件名的模板,每一个无前导%的字符都是文件名的组成部分,%后面跟一个字符为日期和时间格式串,将被下表列出的它们代表的实际字串所替换。
特殊格式串:
%% %字符
%n 新行
%t tab字符
时间格式串:
%H 24小时制小时(00..23)
%I 12小时制小时(01..12)
%p 本地AM/PM指示符
%M 分钟(00..59)
%S 秒(00..61)
%X 本地时间(e.g.: “15:12:47″)
%Z 时区 (e.g. GMT),如果不能检测出时区,值为空
日期格式串:
%a 本地简短星期名(e.g.: Sun..Sat)
%A 本地完整星期名(e.g.: Sunday .. Saturday)
%b 本地简短月名(e.g.: Jan .. Dec)
%B 本地完整月名(e.g.: January .. December)
%c 本地日期与时间(e.g.: “Sun Dec 15 14:12:47 GMT 1996″)
%d 一月中的第几日(01 .. 31)
%j 一年中的第几天 (001 .. 366)
%m 月名的数字表示 (01 .. 12)
%U 一年中以星期日为每周第一天计算的星期数(00..53, 第一周包括新年的第一个星期日)
%W 一年中以星期一为每周第一天计算的星期数(00..53, 第一周包括新年的第一个星期一)
%w 星期名的数字表示 (0 .. 6, 0为星期日)
%x 本地日期 (e.g. 今天在北京是: “15/12/96″)
%y 不带世纪的年(00 .. 99)
%Y 带世纪的年(1970 .. 2038)
(3)配置apache使用cronolog分割日志
使用cronolog分割日志的配置中,日志文件名必须以绝对路径(全路径)呈现
下面给出一些示例:
1)对于apache服务日志
#vim httpd.conf
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