微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

日志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/SHA256Signature,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]: steptimeserver 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,thenexit

-p PERIOD,--period=PERIODsetthe rotation period explicitly

-d DELAY,--delay=DELAYsetthe 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 errorifFILE is"-")

-a,--american Americandateformats

-e,--european Europeandateformats (default)

-s,--start-time=TIME startingtime

-z TZ,--time-zone=TZ use TZfortimezone

-V,--version print version number,thenexit


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,whichallowsforleap 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 &

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐