因公司项目用的是Tomcat,因为长时间运行导致Catalina.out文件过大,而影响运行效率。故设法解决此问题, 网上搜索到的处理方式都比较的繁琐,本人经过尝试最终效果都不是很理想,经过多次实验,把本人的处理方式记录如下:
1. 基本思路:首先把catalina.out文件定时备份,为了节省空间可以进行压缩(文档的压缩比还是挺高的)。 需要处理两个问题:编写按天备份压缩的脚本和设置系统任务定时执行脚本。
2.脚本内容:
#!/bin/bash #By:Lomis, Time:2015/09/07, Version:1.0 # 本脚本主要用于隔天定时备份Tomcat的catalina.out日志. ##定义变量 tomcat_path="/usr/local/webapps/tomcat-7"; tomcat_log_path=$tomcat_path"/logs"; ##获取时间 today=$(date +%Y-%m-%d); log_file="catalina.out"; bak_file="catalina."$today".log"; bak_gz_file="catalina."$today".tar.gz"; if [ ! -f $tomcat_log_path"/"$bak_gz_file ];then if [ ! -f $tomcat_log_path"/"$log_file ]; then exit 0; fi if [ ! -f $tomcat_log_path"/"$bak_file ];then ##把新的日志连接到日志文件的末尾 cat $tomcat_log_path"/"$log_file $tomcat_log_path"/"$bak_file; else ##复制文件 echo 执行命令:cp -rf $tomcat_log_path"/"$log_file $tomcat_log_path"/"$bak_file; cp -rf $tomcat_log_path"/"$log_file $tomcat_log_path"/"$bak_file; fi ##清空catalina.out文件 echo 执行命令:echo "" > $tomcat_log_path"/"$log_file; echo "" > $tomcat_log_path"/"$log_file; ##压缩备份文件 echo 执行命令: tar -zcPvf $tomcat_log_path"/"$bak_gz_file $tomcat_log_path"/"$bak_file; tar -zcPvf $tomcat_log_path"/"$bak_gz_file $tomcat_log_path"/"$bak_file; ##删除原备份文件 echo 执行命令: rm -rf $tomcat_log_path"/"$bak_file; rm -rf $tomcat_log_path"/"$bak_file; fi ###删除30天前的日志文件 find $tomcat_log_path"/" -mtime +30 -name "*.log" -exec rm -rf {} \;
因为脚本中我加了注释,就不多做解释了。
3.设置定时任务
linux的定时任务需要用到crontab,。
查询的资料说这个服务一般在安装系统的时候都会安装,但不会自己启动,需要自己手动启动下。
但也有的linux系统可能没有安装,那就自己动手安装下。因为我的是centos系统,我用了yum install -y vixie-cron 这个命令进行的安装(安装很简单,不再赘述)。
关于定时任务的设置,有个文章介绍的很详细,这里我把地址拿过来了:http://www.blogjava.net/decode360/archive/2009/09/18/287743.html
我最终的定时任务设置:
57 23 * * * /usr/local/webapps/program/bakCatalina.sh
此方法可行,已经在我们的线上环境运行1个多月。
相关推荐
针对linux环境上tomcat不断输出到catalina.out文件的问题,提供一个按天分割catalina.out的脚本,以及操作说明。绝对可用!
windows下tomcat的catalina.out按天自动分割,windows下tomcat日志按天自动分割
Linux tomcat下catalina.out日志文件分割 前言: tomcat默认使用Java.util.logging记录日志,默认只记录tomcat的日志,不记录应用的日志。tomcat支持采用log4j进行日志记录,配置方法如下: 1.更新最新的tomcat_juli...
Tomcat输出catalina.out的大小控制
catalina.out日志查看工具,不过查找不太好用,有时间会有便宜,可以定位到大概的位置。大多数情况是可以查到的
catalina.out是tomcat把stdout和stderr重定向到文件后生成的日志文件,其生成是不受logging.properties 或 log4j.properties配置文件所影响的,需要另行安装工具(如cronolog或rotatelogs之类)进行处理。...
部署tomcat下的项目 监控的时候发现 日志中文乱码 ,tomcat 下catalina.out 日志乱码问题处理
tomcat的catalina.out是tomcat的...越⼤,并且tomcat⾃身是没有带分割catalina.out的功能的。所有档如果某些需求需要导致我们查看 catalina.out⽂件的时候 会⽐较的苦恼。需要对tomcat的catalina.out⽂件进⾏分割
最近发现tomcat日志文件catalina.out不断变大,我的服务器里该文件目前已接近10G,导致系统磁盘空间边变小,而且管理也难于管理,所以想用一种工具来分割它。网上找了找用cronolog。
今天小编就为大家分享一篇关于Tomcat使用Log4j输出catalina.out日志,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
liunx版本 tomcat log目录下catalina.out文件切割工具,防止长时间运行导致catalina.out文件过大占用过多内存,里面有 切割工具和使用说明文档。
Tomcat日志catalina.out过大解决方案--使用logback的资源包,包括jar包,和使用文档,具体使用请参考我的同名博客。
直接使用此jar包 放入tomcat lib目录下 修改conf配置文件 重起生效
ubuntu下tomcat中输出日志,log4j替代catalina.out所需配置
tomcat日志 catalina.out分离 免去catalina,out过大的情况,并且查看日志方便,里面包含了食用方法和一个写好的catalina.sh文件 安装好cronolog后直接覆盖源文件
tomcat下用Log4j 按文件大小,生成catalina.out日志文件
1、解压缩catalina.out切割工具.zip,将文件cronolog-1.6.2.tar.gz传至服务器 # tar -zxvf cronolog-1.6.2.tar.gz 2、进入cronolog安装文件所在目录 # cd cronolog-1.6.2 3、运行安装 # ./configure # make # make ...
catalina.out
catalina.bat setclasspath.bat 上一篇咱们分析了 startup.bat 脚本 这一篇咱们来分析 catalina.bat 脚本. 至于 setclasspath.bat 这个脚本, 相信看完这一篇, 就可以自己看懂这个脚本了. 可以点击下载 [ set...
NULL 博文链接:https://fanth.iteye.com/blog/1736471