tomcat默认安装后,会每天会自动切割日志文件,(catalina.2010-10-08.log、catalina.2010-10-09.log、catalina.2010-10-10.log)这样的形式,但是他的catalina.out不清空,任其自由增长,时间长了系统性能急剧下降。

先看下我现在服务器日志内存使用情况

CentOS下 tomcat 日志维护

oh my god 日志总共已经9.3G了 再看catalina.out 居然有2.3G

CentOS下 tomcat 日志维护

项目才运行一个多月就已经滚了将近10G的日志数据,那么接下来要从两部分来解决

1.catalina.out 不能自由增长,实时更新每天的日志文件即可

2.定时清理半个月以前的数据(考虑到国庆节7天,所以个人感觉保存半个月比较稳妥)


修改tomcat下Catalina.sh文件

将CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out

改为

CATALINA_OUT="$CATALINA_BASE"/logs/catalina`date +%Y%m%d`.out

CentOS下 tomcat 日志维护

重启tomcat

log下的Catalina.out 已经不在有日志输出,而是生成了catalina20180614.out这个文件


添加定时任务执行脚本删除半个月以前的数据

新建脚本文件

touch /opt/soft/bin/auto-del-15-days-ago-log.sh

修改执行权限(没有权限的话 会执行失败)

chmod +x auto-del-15-days-ago-log.sh

编辑脚本程序

chmod +x auto-del-15-days-ago-log.sh

编辑内容如下

#!/bin/sh

find /usr/local/software/tomcat-9-honeywell-api/logs/ -mtime +15 -name "*.*" -exec rm -rf {} \;

CentOS下 tomcat 日志维护

保存退出

写定时任务

crontab -e

将脚本增加到到crontab中 如下图

CentOS下 tomcat 日志维护

该指令含义:每天凌晨1点执行auto-del-15-days-ago-log.sh脚本程序

CentOS下 tomcat 日志维护

可以通过tail -f /var/log/cron 查看定时任务执行情况

CROND[31060]: (root) MAIL (mailed 88 bytes of output but got status 0x004b#012) 报错

CentOS下 tomcat 日志维护

是什么原因呢。。。原来是我脚本里面的执行路径写错。。。。。

完成以上步骤  大功告成


PS crontab 格式 网络图:

CentOS下 tomcat 日志维护

总结如下

1.配置catalina.sh

2.crontab定时任务执行删除脚本指令






相关文章:

  • 2021-11-04
  • 2021-12-21
  • 2022-01-07
  • 2021-05-18
  • 2022-12-23
  • 2021-06-23
  • 2022-12-23
猜你喜欢
  • 2021-12-28
  • 2022-12-23
  • 2021-10-09
  • 2022-02-01
  • 2022-12-23
  • 2022-01-20
  • 2022-01-25
相关资源
相似解决方案