ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

tomcat下日志增长处理方式

2021-10-18 22:00:49  阅读:120  来源: 互联网

标签:opt catalina tomcat 处理 sh CATALINA 日志 OUT


前言:在tomcat的环境下,日志会随时间的增长而变得庞大,有时候甚至有几十G的大小,打开查看很不方便,所以这里对tomcat的catalina.out日志进行分割,切割工具用的cronolog,并且定期删除之前的一些日志,保障内存大小。

环境:centos7服务器,tomcat版本是8以上(其他版本可能会有不同)

1.安装cronolog(有的服务器自带这个工具)

yum install -y cronolog httpd

2.配置tomcat的切割文件,只用配置tomcat目录下的catalina.sh文件即可

编辑catalina.sh,在tomcat的bin目录下

vim /opt/tomcat2/bin/catalina.sh

修改三处:

(1).找到

if [ -z "$CATALINA_OUT" ] ; then
CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out
fi

修改为

if [ -z "$CATALINA_OUT" ] ; then
CATALINA_OUT="$CATALINA_BASE"/logs/%Y-%m-%d.catalina.out
fi

就是给logs目录下的catalina.out用日期分割

(2).注释掉

touch "$CATALINA_OUT"

(3).找到

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

"$CATALINA_OUT" 2>&1 "&"

修改为:

org.apache.catalina.startup.Bootstrap "$@" start 2>&1
| /usr/sbin/cronolog "$CATALINA_OUT" >> /dev/null&

org.apache.catalina.startup.Bootstrap "$@" start 2>&1
| /usr/sbin/cronolog "$CATALINA_OUT" >> /dev/null&

注意:这里的if判断里面有两处,都改了,把之前的那个尽量不要注释,直接删除,然后替换成下面的代码,不过你可以先注释掉试一下,一般也不会错,我在测试的时候可能是注释的不规范,总是执行不成功,后来就把它删除了。然后:wq保存退出以后,再重启服务器查看启动正常,不知道为什么,有时候刚配置完重启失败,但是,我还是重新把之前的代码删除再复制,重复几次就成功了,可能是我的代码不规范。有时复制代码框里面的代码报错,可以复制底下那行代码。

重启后截图:

红框部分输出说明配置成功,有的启动方式不一样,效果不一样,具体看代码是否生效是去看看日志文件是否分割

3.查看是否分割成功

进入tomcat的logs目录

cd /opt/tomcat2/logs
ls

看到这样的文件就说明成功切割了。

4.定期删除

linux自带crontab定时任务工具,直接拿来使用,设置每天凌晨00:00执行删除任务,删除一周前的日志文件

(1).创建一个sh的脚本,用于执行删除,我把它放在了/opt/tomcat/bin目录下,方便管理

cd /opt/tomcat2/bin
vim auto_del_log.sh

(2).将下面代码复制进去,:wq保存退出

!/bin/sh

find /opt/tomcat2/logs/ -mtime +7 -name ".out" -exec rm -rf {} ;
find /opt/tomcat2/logs/ -mtime +7 -name "
.out" -exec rm -rf {} ;

(3).制作定时任务

crontab -e #直接这个该命令,添加一个定时任务计划

然后在里面添加如下代码:

00 00 * * * /opt/tomcat2/bin/auto_del_log.sh >/dev/null 2>&1

这样就设置成功了。每天凌晨回去执行tomcat2/bin,目录下的autoa-del_log.sh的shell脚本执行清除任务。

(4).查看定时任务

crotab -l

日志分割和定期删除完毕!

标签:opt,catalina,tomcat,处理,sh,CATALINA,日志,OUT
来源: https://www.cnblogs.com/lwdesire/p/15422509.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有