前言:在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
日志分割和定期删除完毕!
到此这篇阿里云centos7,tomcat8配置catalina.out日期分割并定期删除的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/do-yfwjc/10646.html