tomcat的catalina.out日志按自定义时间格式进行分割的操作方法

 更新时间:2022年04月01日 14:37:56   作者:三度  
这篇文章主要介绍了tomcat的catalina.out日志按自定义时间格式进行分割,包括安装Cronolog,修改Tomcat下bin/catalina.sh文件,shell利用crontab自动清除日志的相关知识,需要的朋友可以参考下

默认情况下,tomcat的catalina.out日志文件是没有像其它日志一样,按日期进行分割,而是全部输出全部写入到一个catalina.out,这样日积月累就会造成.out日志越来越大,给管理造成了不便,为了实现像其它日志文件一样按日期归档,这里我采用cronolog来完成日志分割。

一、安装Cronolog

1.yum方式安装

# yum install cronolog

2.下载压缩包安装

1. 下载(最新版本)
wget http://cronolog.org/download/cronolog-1.6.2.tar.gz

2. 解压缩
tar zxvf cronolog-1.6.2.tar.gz
 
3. 进入安装目录
cd cronolog-1.6.2
4. 运行安装
./configure
make
make install
5. 查看是否安装成功
which cronolog
结果:/usr/local/sbin/cronolog  (这个是cronolog的安装路径,后面会用到)

二、修改Tomcat下bin/catalina.sh文件

修改要分隔的Tomcat的日志下bin/catalina.sh文件,要修改的在290行。修改前先拷贝一份。
1. cp catalina.sh catalina.sh.bak
2. vim catalina.sh -c 417  或者  vim catalina.sh之后:417    (进入到catalina.sh的第417行。)

下面为需要修改的内容:标红的是要修改的区域

修改为:
  shift
  # touch "$CATALINA_OUT"
  if [ "$1" = "-security" ] ; then
    if [ $have_tty -eq 1 ]; then
      echo "Using Security Manager"
    fi
    shift
    eval $_NOHUP "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
      -classpath "\"$CLASSPATH\"" \
      -Djava.security.manager \
      -Djava.security.policy=="\"$CATALINA_BASE/conf/catalina.policy\"" \
      -Dcatalina.base="\"$CATALINA_BASE\"" \
      -Dcatalina.home="\"$CATALINA_HOME\"" \
      -Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \
      org.apache.catalina.startup.Bootstrap "$@" start 2>&1\
      | /usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null &
 
  else
  fi

修改后,重启Tomcat。可以看到更改已经生效。(看到catalina.out出现了catalina.2017-12-19.out等按照日期分类的输出文件说明配置成功)。

三、shell利用crontab自动清除日志

1.删除文件shell命令详解

find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \;
 
例子:
    find /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} \;
 
说明:将/opt/soft/log/目录下所有30天前带".log"的文件删除。具体参数说明如下:
    find:linux的查找命令,用户查找指定条件的文件;
    /opt/soft/log/:想要进行清理的任意目录;
    -mtime:标准语句写法;
    +30:查找30天前的文件,这里用数字代表天数;
    "*.log":希望查找的数据类型,"*.jpg"表示查找扩展名为jpg的所有文件,"*"表示查找所有文件,这个可以灵活运用,举一反三;
    -exec:固定写法;
    rm -rf:强制删除文件,包括目录;
    {} \; :固定写法,一对大括号+空格+\+; 

2.创建shell脚本即crontab计划任务

# vim del-15-days-ago-logs.sh
find /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} \;
# chmod +x del-15-days-ago-logs.sh
# crontab -e
10 0 * * * /opt/soft/log/del-15-days-ago-logs.sh >/dev/null 2>&1

到此这篇关于tomcat的catalina.out日志按自定义时间格式进行分割的文章就介绍到这了,更多相关tomcat的catalina.out日志内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 浅谈Tomcat乱码与端口占用的解决方案

    浅谈Tomcat乱码与端口占用的解决方案

    这篇文章主要介绍了浅谈Tomcat乱码与端口占用的解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • Tomcat中catalina.out 和 catalina.log的区别和用途详解

    Tomcat中catalina.out 和 catalina.log的区别和用途详解

    本文主要介绍了Tomcat中catalina.out 和 catalina.log的区别和用途详解,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • Tomcat 9 免安装版配置的图文教程(详)

    Tomcat 9 免安装版配置的图文教程(详)

    这篇文章主要介绍了Tomcat9 免安装版配置的图文教程,本教程给大家提供的tomcat的官方下载网址,本文介绍的非常详细,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09
  • 配置tomcat的图文教程

    配置tomcat的图文教程

    本文主要介绍了配置tomcat的图文教程,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • Tomcat 5.5 数据库连接池配置

    Tomcat 5.5 数据库连接池配置

    我用的数据库是MySQL5.5,所以首先要把MySQL的JDBC驱动程序拷贝到Tomcat安装目录的/common/lib下和你自己网站的/WEB-INF/lib下。
    2009-08-08
  • Tomcat常见异常及解决方案代码实例

    Tomcat常见异常及解决方案代码实例

    这篇文章主要介绍了Tomcat常见异常及解决方案代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • 优化Tomcat配置(内存、并发、缓存等方面)方法详解

    优化Tomcat配置(内存、并发、缓存等方面)方法详解

    这篇文章主要介绍了优化Tomcat配置(内存、并发、缓存等方面)方法详解,具有一定参考价值,需要的朋友可以了解下。
    2017-10-10
  • 一文详解tomcat中的jmx监控

    一文详解tomcat中的jmx监控

    本文我们将从使用和源码实现两个方面聊一下jmx的落地实现范例——tomcat中的jmx,tomcat作为一个web server,其选用jmx来实现监控功能,之所以选择jmx是因为jmx是java se原生的能力,本文将详细的给大家介绍一下tomcat中的jmx监控,需要的朋友可以参考下
    2024-06-06
  • tomcat8中startup可以启动tomcat8w无法启动的问题分析

    tomcat8中startup可以启动tomcat8w无法启动的问题分析

    这篇文章主要介绍了tomcat8中startup可以启动,tomcat8w无法启动的问题,根本原因是windows 服务内没有tomcat服务,所以无法启动,本文给大家分享解决方法,需要的朋友可以参考下
    2022-08-08
  • 使用 jsvc 启动tomcat的方法(使用普通用户运行)

    使用 jsvc 启动tomcat的方法(使用普通用户运行)

    这篇文章主要介绍了使用 jsvc 启动tomcat(使用普通用户运行)的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-05-05

最新评论