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


Posted in Servers onApril 02, 2022

默认情况下,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行。)

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

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

修改为:
  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日志按自定义时间格式进行分割的操作方法

修改后,重启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日志内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Servers 相关文章推荐
win10安装配置nginx的过程
Mar 31 Servers
uwsgi+nginx代理Django无法访问静态资源的解决
May 10 Servers
Vertica集成Apache Hudi重磅使用指南
Mar 31 Servers
Dashboard管理Kubernetes集群与API访问配置
Apr 01 Servers
使用Docker容器部署rocketmq单机的全过程
Apr 03 Servers
KVM基础命令详解
Apr 30 Servers
搭建Yolov5服务器
Apr 30 Servers
Vscode中SSH插件如何远程连接Linux
May 02 Servers
Apache SeaTunnel实现 非CDC数据抽取
May 20 Servers
vscode内网访问服务器的方法
Jun 28 Servers
教你使用RustDesk 搭建一个自己的远程桌面中继服务器
Aug 14 Servers
为Centos安装指定版本的Docker
Apr 01 #Servers
Dashboard管理Kubernetes集群与API访问配置
Kubernetes中Deployment的升级与回滚
Apr 01 #Servers
了解Kubernetes中的Service和Endpoint
Kubernetes控制节点的部署
Apr 01 #Servers
Kubernetes部署实例并配置Deployment、网络映射、副本集
Apr 01 #Servers
iSCSI服务器CHAP双向认证配置
Apr 01 #Servers
You might like
了解咖啡雨林联盟认证 什么是雨林认证 雨林认证是什么意思
2021/03/05 新手入门
PHP加速 eAccelerator配置和使用指南
2009/06/05 PHP
做了CDN获取用户真实IP的函数代码(PHP与Asp设置方式)
2013/04/13 PHP
php file_get_contents抓取Gzip网页乱码的三种解决方法
2013/11/12 PHP
php实现httpclient类示例
2014/04/08 PHP
百度工程师讲PHP函数的实现原理及性能分析(三)
2015/05/13 PHP
浅谈Laravel中的一个后期静态绑定
2017/08/11 PHP
javascript闭包的理解和实例
2010/08/12 Javascript
xml文档转换工具,附图表例子(hta)
2010/11/17 Javascript
javascript制作网页图片上实现下雨效果
2015/02/26 Javascript
Bootstrap3学习笔记(三)之表格
2016/05/20 Javascript
Js类的静态方法与实例方法区分及jQuery拓展的两种方法
2016/06/03 Javascript
使用JS实现气泡跟随鼠标移动的动画效果
2017/09/16 Javascript
微信jssdk逻辑在vue中的运用详解
2018/11/14 Javascript
微信小程序授权登陆及每次检查是否授权实例代码
2019/09/18 Javascript
vue如何搭建多页面多系统应用
2020/06/17 Javascript
使用Python3中的gettext模块翻译Python源码以支持多语言
2015/03/31 Python
用python写一个windows下的定时关机脚本(推荐)
2017/03/21 Python
对python3 urllib包与http包的使用详解
2018/05/10 Python
python用BeautifulSoup库简单爬虫实例分析
2018/07/30 Python
python pandas实现excel转为html格式的方法
2018/10/23 Python
python使用多线程编写tcp客户端程序
2019/09/02 Python
python实现简单井字棋小游戏
2020/03/05 Python
Python 整行读取文本方法并去掉readlines换行\n操作
2020/09/03 Python
基于python实现复制文件并重命名
2020/09/16 Python
通过实例解析python and和or使用方法
2020/11/14 Python
Matlab使用Plot函数实现数据动态显示方法总结
2021/02/25 Python
动态密码技术
2012/10/18 面试题
五好党支部事迹材料
2014/02/06 职场文书
搞笑车尾标语
2014/06/23 职场文书
党支部活动策划方案
2014/08/18 职场文书
学生实习证明模板汇总
2014/09/25 职场文书
中学感恩教育活动总结
2015/05/05 职场文书
庆七一主持词
2015/06/29 职场文书
辞职离别感言
2015/08/04 职场文书
CentOS 7安装mysql5.7使用XtraBackUp备份工具命令详解
2022/04/12 MySQL