日志分割工具cronolog
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系统下用下面的命令下载:
wget http://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基本安装配置完毕。希望本文能对初学者有所帮助。
日志分割工具cronolog相关推荐
- Linux中Tomcat中的Cronolog日志分割工具配置
说明 在Tomcat 部署中我们默认访问的日志是logs 随着访问量的增加 一个catalina.out 访问量可能是10几G 如果不对logs 的日志进行分割的话,随着访问量的增加Tomcat 的日 ...
- Linux日志分割软件,Linux 日志切割工具cronolog
一.前言 二.cronolog 简介 三.cronolog 特点 四.cronolog 安装 五.cronolog 使用 六.cronolog 总结 注,操作系统 CentOS 6.4 x86_64, ...
- Linux日志切割工具cronolog详解
一.前言 大家都知道apache服务器,默认日志文件是不分割的,一个整文件既不易于管理,也不易于分析统计.本博文主要讲解Web服务器日志切割工具cronolog,下面我们就来详细的讲解一下. 二.cr ...
- 日志切割工具cronolog详解
日志切割工具cronolog详解 大家都知道apache服务器,默认日志文件是不分割的,一个整文件既不易于管理,也不易于分析统计.本文主要讲解Web服务器日志切割工具cronolog,下面我们就来详细 ...
- centos 日志切割_Linux 日志切割工具cronolog详解
一.前言 二.cronolog 简介 三.cronolog 特点 四.cronolog 安装 五.cronolog 使用 六.cronolog 总结 注,操作系统 CentOS 6.4 x86_64, ...
- Cronolog日志分割工具
文章目录 下载安装Cronolog Tomcat日志分割(一) Tomcat日志分割(二) 下载安装Cronolog wget http://rpmfind.net/linux/epel/7/x86_ ...
- 日志分隔工具Cronolog的使用
Cronolog 分割 Tomcat8 Catalina.out日志. 默认情况下,tomcat的catalina.out日志文件是没有像其它日志一样,按日期进行分割,而是全部输出全部写入到一个cat ...
- Linux进阶(日志分割工具logrotate)
一.工具介绍 logrotate是一个linux系统日志的管理工具.可以对单个日志文件或者某个目录下的文件按时间/大小进行切割,压缩操作:指定日志保存数量:还可以在切割之后运行自定义命令. logro ...
- Linux 日志切割工具cronolog无root权限安装
1.下载安装包,我这下载的是cronolog-1.6.2.tar.gz 2.放到自己有权限的目录下面比如 /home/cronolog/ 3.解压 tar zxvf cronolog-1.6.2.ta ...
最新文章
- 有关LocalAlloc,LocalReAlloc,LocalFree,GlobalAlloc,GlobalReAlloc,GlobalFree的模糊点总结
- Chrome控制台实用指南
- FetchAI Case Study
- 分享-WinForm界面开发之布局控件WeifenLuo.WinFormsUI.Docking的使用
- 10 | 案例篇:系统的软中断CPU使用率升高,我该怎么办?
- [Ajax]ajax学习与理解
- cesium billboard 点击 不想显示infobox
- c语言使用循环编写勾股数,刘徽《九章算术》中的勾股数
- 【语言栏最小化到任务栏里面就消失不见了】
- beedb mysql_26.蛤蟆笔记go语言——beedb库使用
- 决策树算法小结(一) ID3原理及代码实现
- 2020.8.2- 参加华数之星数学比赛 银奖(二等奖)
- 数字信号常用典型序列(1)
- -Dominant Character
- 理解深度负反馈,线性失真与非线性失真线性现象
- 计算机硬件系统包括哪几部分组成,计算机硬件系统由哪几部分组成
- 张亚勤退休百度:一个耐人寻味的微笑
- 记事正文 - QQ邮箱
- for循环,for...in循环,forEach循环的区别
- checkedListBox获取选择的值
热门文章
- php考试倒计时提交系统,AJAX_基于Ajax技术实现考试倒计时并自动提交试卷,1.概述在开发网络考试系统 - phpStudy...
- python 测试mysql数据库_Python操作MySQL数据库----继续安装和测试
- 手工卸载oracle,升级和卸载Oracle数据库软件的命令整理
- 鸿蒙os2.0游戏体验,华为运行鸿蒙OS 2.0体验:界面近似EMUI 11
- systemd管理mysql多实例_使用 systemd 配置多个 MySQL 8.0 实例
- 和upm_官方辟谣!UPM减免15%学费是假的?
- boot jndi数据源 spring_spring boot多数据源配置(mysql,redis,mongodb)实战
- oralce用存储过程实现分页 以及 用java调用这个存储过程的代码
- 《网站安全攻防秘笈》摘录
- Vue学习(组件传参)-学习笔记