apache cronlog 安装配置

1. 关于cronolog
  cronolog 是一个简单的过滤程序,它从标准输入设备读入日志记录,并把这些记录写入到输出文件集,输出文件的名字由一个文件名模板和当前的日期时间组成。cronolog 通常与web服务器一起使用,例如apache,用来安全地对日志文件按日期、月或其它特定的区间进行分割。
3. 安装cronolog命令
  cd /usr/local
mkdir cronolog
tar zxvf cronolog-1.6.2.tar.gz
mv cronolog-1.6.2 cronolog
  cd cronolog-1.6.2
CC=gcc CFLAGS="-O3" ./configure --prefix=/usr/local/cronolog  (这里可以不指定路径,默认会安装到/usr/local/sbin)
  配置选项说明:
    CC:C 编译器的名称(用于运行configure),本文示例为gcc
    CFLAGS:C 编译器的标志(用于运行configure),本文示例为-O3,指定优化级别为3
make
make install
安装完毕后,将在先前指定的目标路径中生成下列目录:
./info cronolog 信息文件(.info)目录
./man cronolog 帮助文件(man)目录
./sbin cronolog 二进制文件目录
 
  测试
  1. cd  /usr/local/cronolog/sbin
  2.  ./cronolog -V  (注意V是大写的哦)
  3. 显示 cronolog version 1.6.2  成功

 

 cronolog 的使用
cronolog 通常以管道方式作为日志过滤程序在应用的配置文件中调用。
直接用法是:
/path/to/cronolog [OPTIONS] logfile-spec
其中:
OPTIONS:cronolog 的选项,可通过下面示例中的-h 或--help 选项查看,此处不再介绍。
本文获取帮助信息示例:
/usr/local/cronolog/sbin/cronolog -h
或:
/usr/local/cronolog/sbin/cronolog --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)
下面是在apache 中的用法:
CustomLog "|/path/to/cronolog [OPTIONS] logfile-spec" [format]
OPTIONS、logfile-spec 同上面的直接用法,format 为apache 配置指令CustomLog 的日志格式
参数。
下面是本文的示例:
修改apache 配置文件,本文示例为/usr/local/apache-2.2.6/conf/httpd.conf:
vi /usr/local/apache-2.2.6/conf/httpd.conf
按下面的提示进行修改:
将CustomLog 指令,本文示例为
CustomLog logs/access_log common
更改为:
CustomLog "|/usr/local/cronolog/sbin/cronolog /usr/local/apache-2.2.6/logs/access_log.%Y%m%d"
combined
指令解释:
/usr/local/cronolog/sbin/cronolog 为cronolog 二进制文件绝对路径
/usr/local/apache-2.2.6/logs/access_log.%Y%m%d 为输出日志文件名模板,将按天生成类似下
面文件名的日志文件/usr/local/apache-2.2.6/logs/access_log.20080301。
combined 为apache 日志的格式名。
错误日志更改为
ErrorLog "|/usr/local/cronolog/sbin/cronolog /usr/local/apache/logs/access_log.%Y%m%d"
按你的实际情况修改完毕后重启apache 即可。
posted @ 2014-08-23 10:37  zZ-哒哒哒-Zz  阅读(757)  评论(0编辑  收藏  举报