如何控制Tomcat的catalina.out的大小

catalina.out文件,数据主要来源为:System.out 和 System.err 在控制台上直接输出的信息。

编码时应避免使用System.out.println()和e.printStackTrace(),尽量采用logging机制记录日志。

本文主要说的是采用cronolog工具来分割catalina.out文件

1、工具安装
提供两总方式
1)可以直接用yum来安装,简单,建议用此方法即可,但是安装路径需要用which cronolog查看一下
yum install -y cronolog httpd

2)下载源码安装
官方URL:http://cronolog.org/download/index.html
输入以下步骤:
wget http://cronolog.org/download/cronolog-1.6.2.tar.gz
tar xf cronolog-1.6.2.tar.gz
cd cronolog-1.6.2
./configure
make && make install

用which cronolog可以查到安装的路径,默认应该是/usr/local/sbin/cronolog,这个路径待会在修改catalina.sh时会用到。

2、修改Tomcat启动脚本catalina.sh
1)
修改:
if [ -z “ C A T A L I N A O U T " ] ; t h e n C A T A L I N A O U T = " CATALINA_OUT" ] ; then CATALINA_OUT=" CATALINAOUT"];thenCATALINAOUT="CATALINA_BASE”/logs/catalina.out
fi
为:
if [ -z “ C A T A L I N A O U T " ] ; t h e n C A T A L I N A O U T = " CATALINA_OUT" ] ; then CATALINA_OUT=" CATALINAOUT"];thenCATALINAOUT="CATALINA_BASE”/logs/catalina.%Y-%m-%d.out
fi

2)删除生成日志文件
注释:
touch “KaTeX parse error: Expected 'EOF', got '#' at position 21: …INA_OUT" 为: #̲touch "CATALINA_OUT”

3)修改启动脚本参数,应该有两处
修改:
org.apache.catalina.startup.Bootstrap “KaTeX parse error: Undefined control sequence: \ at position 10: @" start \̲ ̲ >> "CATALINA_OUT” 2>&1 “&”
为:
org.apache.catalina.startup.Bootstrap “KaTeX parse error: Expected 'EOF', got '&' at position 12: @" start 2>&̲1 \ | /usr/sbin…CATALINA_OUT” >> /dev/null &

注意:/usr/sbin/cronolog这个地址要使用which cronolog查看的为准

3、重启Tomcat
Tomcat输出日志文件分割成功,输出log文件格式为:catalina.2020-01-09.out类型。

4、编写shell脚本,保存至/home/java/auto_del_log.sh文件(地址随意),脚本内容如下:

find /home/java/tomcat-admin/logs -name “*.out” -type f -mtime +30 -exec rm -rf {} ; >/dev/null 2>&1

5 配置cron
定时删除 自动删除30天以前的out日志文件即可,如果没有cron,自行百度安装
crontab -e
将 0 3 * * * /home/java/auto_del_log.sh 添加到任务后面
:wq 保存退出

6 最后 最好重启一下cron任务

service crond restart

大功告成,这样再也不用担心日志不断变大,导致硬盘变满了!!!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值