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. 初识Selenium(三)

    浅谈基于Selenium的Web自动化测试框架 发表于:2011-4-25 10:58  作者:邵育亮   来源:51Testing软件测试网原创 字体:大 中 小 | 上一篇 | 下一篇 | 打印 ...

  2. Android中布局文件中使用onClick属性

    安卓开发中,布局文件中的控件有一个属性,是onClick,例如:           <Button             android:id="@+id/button1" ...

  3. Listview源码分析(1)

    首先Listview继承关系: ListView  --extends-->  AbsListview  --extends-->  AdapterView  --extends--> ...

  4. Disassembly2:Built-in Type

    先贴一段代码: 跟踪后看到:

  5. 检查本功能是否在Excel中运行

    BOOL g_bParentIsNotEXCEL_EXE = FALSE; BOOL isNotEXCEL_EXE( DWORD dwProcessID ) { HANDLE hProcessSnap ...

  6. ARM汇编指令集

    一.跳转指令.跳转指令用于实现程序流程的跳转,在ARM程序中有以下两种方法可以实现程序流程的跳转. Ⅰ.使用专门的跳转指令.Ⅱ.直接向程序计数器PC写入跳转地址值. 通过向程序计数器PC写入跳转地址值 ...

  7. CDOJ UESTC 1220 The Battle of Guandu

    The 2015 China Collegiate Programming Contest 2015第一届中国大学生程序设计竞赛 F题 本质就是求单源最短路!注意会爆int 对于每一个村庄i,其实就是 ...

  8. hihoCoder 1257 Snake Carpet(很简单的构造方法)

    2015 ACM / ICPC 北京现场赛 I 题 构造 注意一个小坑,每条蛇的输出是要从头到尾输出的. 还要注意的是,不能开数组去模拟构造过程,然后输出,那样会TLE的. #include < ...

  9. whm 设置共享IP

    点击 Main >>Resellers>>resellers centers (manages ressellers center's IP有几个IP代表几个)

  10. java项目开发第六天——天若有情天亦老,人间正道是沧桑

    今天讲解的东西是数据库连接,一天下来还是相对轻松的,这个组长也是够轻松的,队员加载的界面自己也是导入不了,最后也是不了了之,还是加油赶赶吧.看看严嘉那组的界面,最后就是呵呵.但是学长看完后(研究生,同 ...