1. 关于本文

  
本文将以cronolog
1.6.2、apache 2.2.6为例,以CentOS
5为平台,讲述cronolog的安装和设置。

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

3. 安装cronolog
3.1 下载最新稳定发行版(GA)的cronolog
     
访问cronolog网站http://cronolog.org/download/index.html下载最新稳定发行版的cronolog源码包。本文使用的是1.6.2版本,在linux系统下用下面的命令下载:

wgethttp://cronolog.org/download/cronolog-1.6.2.tar.gz

3.2 解压缩下载的源码包
      首先建立一个工作目录(
笔者建议的目录为/usr/local/src/cronolog ) :
      mkdir
-p /usr/local/src/cronolog
     
将下载的源码包移至工作目录:
      mv
cronolog-1.6.2.tar.gz 
/usr/local/src/cronolog
      进入工作目录并用tar命令解压源码包:

cd  /usr/local/src/cronolog
     
tar zxvf 
cronolog-1.6.2.tar.gz 
      命令执行结束后,当前工作目录下将生成一个新的子目录cronolog-1.6.2,此目录下即为cronolog的源码文件。

3.3 配置Makefile文件
      进入cronolog源码目录:

cd cronolog-1.6.2

执行下面的命令可查看可配置选项:
  ./configure --help
      本文使用的配置命令如下:

CC=gcc CFLAGS="-O3" ./configure --prefix=/usr/local/cronolog
      配置选项说明:

CC:C编译器的名称(用于运行configure),本文示例为gcc
      CFLAGS:C编译器的标志(用于运行configure),本文示例为-O3,指定优化级别为3

--prefix:指定安装目录,本文示例为/usr/local/cronolog

3.4 编译源代码
     
执行下面的命令编译源代码:
  make
3.5 安装
  执行下面的命令安装cronolog 到目标路径:
  make install
3.6 目录结构
     
安装完毕后,将在先前指定的目标路径中生成下列目录:
 
./info     
cronolog信息文件(.info)目录
     
./man    cronolog帮助文件(man)目录

./sbin    
cronolog二进制文件目录

4. 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日志的格式名。
   
按你的实际情况修改完毕后重启apache即可。

5. 结束语
    至此,cronolog基本安装配置完毕。希望本文能对初学者有所帮助。

Linux cronolog的更多相关文章

  1. apache 日志轮询 linux cronolog

    Linux下运行的Web服务器Apache,默认日志文件是不分割的,一个整文件既不易于管理,也不易于分析统计.安装cronolog后,可以将日志文件按时间分割,易于管理和分析. cronolog安装配 ...

  2. Linux 驱动开发

    linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...

  3. linux下用cronolog分割apache日志

    linux下用cronolog分割apache日志,大神莫拍砖,菜鸟留一记录,小白请默默转载.连linux登陆和vi编辑都不会的,请默默关闭此页面.入正题 说明:淡绿色底的为linux命令,其他的为备 ...

  4. Linux 下cronolog分割catalina.out文件

    开发项目的时候查看日志,发现catalina.out已经有1个多G,日积月累的慢慢变大,幸亏及时发现还没有导致错误, tomcat默认日志之一输出在catalina.out文件中的,不会分割,不便于使 ...

  5. Linux 日志切割工具cronolog详解

    一.前言 二.cronolog 简介 三.cronolog 特点 四.cronolog 安装 五.cronolog 使用 六.cronolog 总结 注,操作系统 CentOS 6.4 x86_64, ...

  6. cronolog分割Tomcat catalina.out日志

    Linux上tomcat的日志输出在catalina.out里面,随着时间的推移,产生的日志文件会越来越大,其主要是调试中打印的一些信息占空间,比如说System.out和log等等.tomcat 的 ...

  7. [转载]Linux下tomcat的catalina.out文件过大,以及目录更改解决办法

    原文链接:http://liyan0524.iteye.com/blog/1285644 方法1—分割流 使用cronolog工具切分Tomcat的catalina.out日志文件 cronolog一 ...

  8. Linux运维命令之一

    释放内存:syncecho 3 > /proc/sys/vm/drop_caches Linux查看Dell服务器型号命令:dmidecode | grep "Product Name ...

  9. Linux系统下分割tomcat日志

    在Linux系统下,tomcat日志catalina.out并不会像window系统下,按日期进行重写备份,因此在Linux系统下会造成日志文件过大的情况,本文介绍采用 cronolog工具进行如在w ...

随机推荐

  1. java包(package)

    为了更好地组织类,java提供了包机制,用于区别类名的命名空间. 这样在不同的命名空间就可以有相同命名的类. 1 把功能相似或相关的类或接口阻止在同一个包中,方便类的查找和使用. 2 如同文件夹一样, ...

  2. 动态规划3-------poj1050

    首先还是对题目的意思进行说明,给出一个矩阵的数,然后求出一个子矩阵这个子矩阵包含的数的和是最大的.   首先对于题目进行转化,利用一个数组add进行存放临时数据,第一行存放原来数据的第一行,第二行存放 ...

  3. 关于MySQL中时间格式和取零点的问题

    select * from order where create_time>'2016-05-21 00:00:00'; 不包含2016-05-21 00:00:00时的订单 select * ...

  4. Ubuntu Linux系统下的SVN客户端工具PySVN

    在Windows下面一直在用TortoiseSVN做为SVN客户端工具,但它居然没提供Linux版本,无视Linux用户的存在.它视我如空 气,偶视它如废土.开始探索尝试其他跨平台的SVN客户端,最后 ...

  5. BroadcastReceiver的两种注册方式之------静态注册

    activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android&qu ...

  6. HDU 2846 Repository(字典树)

    字典树较为复杂的应用,我们在建立字典树的过程中需要把所有的前缀都加进去,还需要加一个id,判断它原先是属于哪个串的.有人说是AC自动机的简化,但是AC自动机我还没有做过. #include<io ...

  7. Microsoft Web Test Recorder在录制时没有显示

    在进行web test录制时,IE启动后,在左侧可能没有显示Microsoft Web Test Recorder,这很有可能是因为IE加载项中,该项被禁止了,按照如下操作可解决此问题: 1. 打开I ...

  8. JSDOM优化

    JS操作DOM,就像从一个岛到另外一个岛,过桥的时候,每次都要收取过桥费,尽量减少过桥的次数.列如:   for循环插入到页面5000个LI:  应该 先用一个变量存 5000个li,然后一次插入. ...

  9. springMVC注解及优化

    1. 新建web project 2. 添加jar 3. 改写web.xml, 注意spring-servlet.xml的名字 <?xml version="1.0" enc ...

  10. jsp设置footer底部内容

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...