tomcat日志切割和定期删除
转载
tomcat日志切割和定期删除
在tomcat的软件环境中,如果我们任由日志文件无限增长,总有一天会将磁盘占满的(废话)。特别是在日志文件增长速度很快的一些情况下,按日志切割日志文件并删除,就是一件很有必要的工作了,以下介绍了切割日志文件的方法。
第1章 系统环境
1.1 操作系统环境
1
2
3
4
5
6
|
[root@server1 ~]
CentOS release 6.5 (Final)
[root@server1 ~]
2.6.32-431.el6.x86_64
[root@server1 ~]
x86_64
|
1.2 jdk环境
1
2
3
4
|
[root@server1 ~]
java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) Server VM (build 24.65-b04, mixed mode)
|
1.3 tomcat环境
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
[root@server1 ~]
Using CATALINA_BASE: /opt/gw/tomcat7
Using CATALINA_HOME: /opt/gw/tomcat7
Using CATALINA_TMPDIR: /opt/gw/tomcat7/temp
Using JRE_HOME: /usr/local/jdk1 .7
Using CLASSPATH: /opt/gw/tomcat7/bin/bootstrap .jar: /opt/gw/tomcat7/bin/tomcat-juli .jar
Server version: Apache Tomcat /7 .0.57
Server built: Nov 3 2014 08:39:16 UTC
Server number: 7.0.57.0
OS Name: Linux
OS Version: 2.6.32-431.el6.x86_64
Architecture: i386
JVM Version: 1.7.0_67-b01
JVM Vendor: Oracle Corporation
|
第2章 切割工具cronolog
2.1 cronolog的介绍
Cronolog是一个过滤器程序,它从标准输入读取日志文件条目,并将每个条目写入由文件名模板和当前日志所指定的输出文件中。 当扩展文件名改变时,关闭当前文件,并打开一个新文件。 Cronolog是为了与Apache等Web服务器一起使用,将访问日志分为每日或每月日志。
2.2 cronolog的安装
2.2.1 下载cronolog
1
2
3
4
|
cd /usr/local/src
wget https: //files .cnblogs.com /files/crazyzero/cronolog-1 .6.2. tar .gz
[root@kafka01 src]
a44564fd5a5b061a5691b9a837d04979 cronolog-1.6.2. tar .gz
|
2.2.2 编译安装
1
2
3
4
5
6
|
[root@kafka01 src]
[root@kafka01 src]
[root@kafka01 cronolog-1.6.2]
[root@kafka01 cronolog-1.6.2]
[root@kafka01 cronolog-1.6.2]
/usr/local/sbin/cronolog
|
2.3 cronolog命令
1
2
3
4
5
6
7
8
9
|
[root@server1 ~]
/usr/local/sbin/cronolog
使用 man 帮助命令查看cronolog使用语法:
[root@server1 ~]
NAME
cronolog - write log messages to log files named according to a template
SYNOPSIS
cronolog [OPTION]... template
|
第3章 配置tomcat日志切割
配置日志切割,只需修改配置文件catalina.sh(如果windows则是catalina.bat,这里不介绍windows情况)即可。大概在catalina文件中的第380行和第390行左右,修改如下:
(1)内容:
1
2
|
org.apache.catalina.startup.Bootstrap "$@" start \
>> "$CATALINA_OUT" 2>&1 "&"
|
替换为:
1
2
|
org.apache.catalina.startup.Bootstrap "$@" start \
2>&1 | /usr/local/sbin/cronolog "$CATALINA_BASE/logs/catalina-%Y-%m-%d.out" &
|
(2)内容:
1
2
|
org.apache.catalina.startup.Bootstrap "$@" start \
>> "$CATALINA_OUT" 2>&1 "&"
|
替换为:
1
2
|
org.apache.catalina.startup.Bootstrap "$@" start \
2>&1 | /usr/local/sbin/cronolog "$CATALINA_BASE/logs/catalina-%Y-%m-%d.out" &
|
配置完成后,重启tomcat即可!!!!
第4章 定时删除过期日志
在这里直接使用linux自带的crontab定时任务工具,设置每天凌晨00:00执行删除任务,删除7天以前的日志文件。
1
2
|
crontab -e
00 00 * * * /bin/find /opt/gdyy/tomcat7/logs/ - type f -mtime +7 | xargs rm -f &> /dev/null
|
1
2
3
|
[root@server1 ~]
00 00 * * * /bin/find /opt/gw/tomcat7/logs/ - type f -mtime +7 | xargs -i mv {} /data/bak/gw_log/ &> /dev/null
|
tomcat日志切割并定时删除完成!!!
本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。