日志切割工具cronolog yum安装和源码安装和基本使用

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

 日志rotate工具cronolog可对Apache,NGINX,Tomcat的日志进行切割,以后研究能不能对系统日志进行切割。我猜应该结合crontab,对系统日志进行切割。

 以下是两个安装方式

conolog主要和Web服务器配置使用,特别是Apache服务器,Apache 默认日志文件是不分割的,一个整文件既不易于管理,也不易于分析统计。安装cronolog后,可以将日志文件按时间分割,易于管理和分析。下面是与Apache配置的一些指令:


1.TransferLog "|/usr/sbin/cronolog /web/logs/%Y/%m/%d/access.log"

2.ErrorLog    "|/usr/sbin/cronolog /web/logs/%Y/%m/%d/errors.log"

   


下面是具体案例,


1./web/logs/2002/12/31/access.log/web/logs/2002/12/31/errors.log

2./web/logs/2003/01/01/access.log/web/logs/2003/01/01/errors.log


第一种安装方式:rpm包安装

1.安装epelyum源

   

[root@node6 src]# yum install -y wget vim

[root@node6 src]# wget http://ftp.sjtu.edu.cn/fedora/epel/6/i386/epel-release-6-8.noarch.rpm

[root@node6 src]# rpm -ivh epel-release-6-8.noarch.rpm

warning: epel-release-6-8.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY

Preparing...                ########################################### [100%]

   1:epel-release           ########################################### [100%]

   


2.安装ntp


   

[root@node6 src]# yum install -y ntp

   


3.时间同步 

[root@node6 src]# ntpdate 202.120.2.101

28 Dec 17:59:17 ntpdate[1413]: step time server 202.120.2.101 offset -25666.776448 sec

   


4.安装cronolog

(1).直接用yum安装


1

   

[root@node6 src]# yum install -y cronolog httpd

   


第二种安装方式:源码安装

  

[root@node6 src]# wget http://cronolog.org/download/cronolog-1.6.2.tar.gz

[root@node6 src]# tar xf cronolog-1.6.2.tar.gz

[root@node6 src]# cd cronolog-1.6.2

[root@node6 cronolog-1.6.2]# ./configure

[root@node6 cronolog-1.6.2]# make && make install

[root@localhost ~]# which cronolog

/usr/local/sbin/cronolog

   


好了,到这里我们的cronolog就安装完成了,下面我们来说一下cronolog如何使用。




五、cronolog 使用

(1).基本使用



[root@node6 ~]# cronolog -h

usage: cronolog [OPTIONS] logfile-spec

   -H NAME,   --hardlink=NAME maintain a hard link from NAME to current log

   -S NAME,   --symlink=NAME  maintain a symbolic link from NAME to current log

   -P NAME,   --prev-symlink=NAME  maintain a symbolic link from NAME to previous log

   -l NAME,   --link=NAME     same as -S/--symlink

   -h,        --help          print this help, then exit

   -p PERIOD, --period=PERIOD set the rotation period explicitly

   -d DELAY,  --delay=DELAY   set the rotation period delay

   -o,        --once-only     create single output log from template (not rotated)

   -x FILE,   --debug=FILE    write debug messages to FILE

                              ( or to standard error if FILE is "-")

   -a,        --american         American date formats

   -e,        --european         European date formats (default)

   -s,    --start-time=TIME   starting time

   -z TZ, --time-zone=TZ      use TZ for timezone

   -V,      --version         print version number, then exit

   


cronolog 一般是采取管道的方式来工作的,采用如下的形式:


1

   

[root@node6 ~]# loggenerator | cronolog log_file_pattern

   


其中,loggenerator为产生log的程序,而log_file_pattern是日志文件的路径,可以在其中加入cronolog所支持的时间相关的pattern字符,如/www/log/%y/%m/%d/access.log。其pattern为%字符后跟一特殊字符,简述如下:

转义符:  



   

%    %字符

n    换行

t    水平制表符

   


时间域:  



   

H    小时(00..23)

I    小时(01..12)

p    该locale下的AM或PM标识

M    分钟(00..59)

S    秒 (00..61, which allows for leap seconds)

X    该locale下时间表示符(e.g.: "15:12:47")

Z    时区。若时区不能确定,则无意义

   


日期域:  


a    该locale下的工作日简名(e.g.: Sun..Sat)

A    该locale下的工作日全名(e.g.: Sunday ..  Satur-ay)

b    该locale下的月份简称(e.g.: Jan .. Dec)

B    该locale下的月份全称(e.g.:  January .. December)

c    该locale下的日期和时间(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    该locale下的日期表示(e.g. "13/04/97")

y    两位数的年份(00 .. 99)

Y    四位数的年份(1970 .. 2038)

   


(2).结合apache使用

编辑httpd.conf文件,将其中的


[root@localhost ~]# vim /usr/local/apache2/conf/httpd.conf

将默认日志: CustomLog "logs/access_log" combined

修改为:CustomLog "|/usr/local/sbin/cronolog /log/www/access_%Y%m%d.log" combined 即可。其中%Y%m%d为日志文件分割方式,即为“年月日”。

[root@localhost ~]# /usr/local/apache2/bin/apachectl restart



对Tomcat日志的切割


tomcat/bin/catalian.sh中找到:

org.apache.catalina.startup.Bootstrap "$@" start / 

>> "$CATALINA_BASE"/logs/catalina.out 2&1 &

 

修改为:

org.apache.catalina.startup.Bootstrap "$@" start / 

|/usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.out.%Y-%m-%d

>> /dev/null 2&1 &


   

本文转自 运维天空 51CTO博客,原文链接:http://blog.51cto.com/jason83/1981236



相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
2月前
|
监控 Ubuntu 安全
如何在 VPS 上安装和使用 Logwatch 日志分析器和报告工具
如何在 VPS 上安装和使用 Logwatch 日志分析器和报告工具
41 1
|
17天前
|
开发工具 git
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
31 1
|
1月前
|
关系型数据库 MySQL Linux
Linux 安装 mysql【使用yum源进行安装】
这篇文章介绍了在Linux系统中使用yum源安装MySQL数据库的步骤,包括配置yum源、安装MySQL服务、启动服务以及修改root用户的默认密码。
Linux 安装 mysql【使用yum源进行安装】
|
13天前
|
缓存 Linux 编译器
【C++】CentOS环境搭建-安装log4cplus日志组件包及报错解决方案
通过上述步骤,您应该能够在CentOS环境中成功安装并使用log4cplus日志组件。面对任何安装或使用过程中出现的问题,仔细检查错误信息,对照提供的解决方案进行调整,通常都能找到合适的解决之道。log4cplus的强大功能将为您的项目提供灵活、高效的日志管理方案,助力软件开发与维护。
32 0
|
15天前
|
Unix Linux Go
Linux 使用Yum安装Go和配置环境
Linux 使用Yum安装Go和配置环境
|
2月前
|
缓存 NoSQL Linux
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
110 1
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
|
2月前
|
关系型数据库 MySQL Linux
在CentOS上使用yum安装与使用MySQL
在CentOS操作系统上使用yum包管理器安装和配置MySQL数据库的详细步骤,包括下载MySQL的yum源配置、安装MySQL服务、启动和停止服务、设置开机自启动、获取临时密码、修改root用户密码、授权用户以及处理相关问题。同时,文章还包含了一些操作的截图,帮助用户更直观地理解安装和配置过程。
580 0
在CentOS上使用yum安装与使用MySQL
|
2月前
|
Oracle Java 关系型数据库
yum安装指定版本的openJDK
yum安装指定版本的openJDK
|
2月前
|
NoSQL Ubuntu Java
如何在 Ubuntu 14.04 上安装 Graylog2 并实现日志集中管理
如何在 Ubuntu 14.04 上安装 Graylog2 并实现日志集中管理
29 1
|
2月前
|
Prometheus 监控 安全