Tomcat日志文件catalina.out文件过大问题
随着项目的运行,Tomcat的日志文件catalina.out的大小日益增大,现在都有好几个GB了。如果我们不做任何处理,catalina.out的文件大小将会持续增加,直到把我们的系统硬盘空间给撑爆不可。
当Tomcat的日志文件catalina.out的大小大于2GB时,Tomcat程序崩溃时将有可能会启动失败并且不会有任何错误信息提示。为了避免该场景的出现,我们要定期轮转catalina.out日志文件。
这里小白使用CentOS6U5自带的logrotate程序来解决catalina.out的日志轮转问题。这种方式比较简单。在/etc/logrotate.d/目录下新建一个名为tomcat的文件,
1
2
3
4
5
6
7
8
9
10
|
cat > /etc/logrotate .d /tomcat <<EOF /usr/local/apache-tomcat-8 .0.28 /logs/catalina .out{ copytruncate daily rotate 7 missingok compress size 16M } EOF |
以上的配置说明:
1
2
3
4
5
6
7
8
|
/usr/local/apache-tomcat-8 .0.28 /logs/catalina .out{ # 要轮转的文件 copytruncate # 创建新的catalina.out副本后,截断源catalina.out文件 daily # 每天进行catalina.out文件的轮转 rotate 7 # 至多保留7个副本 missingok # 如果要轮转的文件丢失了,继续轮转而不报错 compress # 使用压缩的方式(非常有用,节省硬盘空间;一个2~3GB的日志文件可以压缩成60MB左右) size 16M # 当catalina.out文件大于16MB时,就轮转 } |
以上是如何工作的呢?
每天晚上crond守护进程会运行在/etc/cron.daily目录中的任务列表;
与logrotate相关的脚本也在/etc/cron.daily目录中。运行的方式为"/usr/bin/logrotate /etc/logrotate.conf";
/etc/logrotate.conf文件include了/etc/logrotate.d/目录下的所有文件。还包括我们上面刚创建的tomcat文件;
/etc/logrotate.d/tomcat文件会触发/usr/local/apache-tomcat-8.0.28/logs/catalina.out文件的轮转。
以上是程序自动完成的,不需要我们干预。当然了,我们也可以使用手工的方式进行logrotate程序。在命令行进行如下运行:
1
|
logrotate /etc/logrotate .conf |
或者只轮转刚刚的tomcat配置文件,可以这样运行:
1
|
logrotate --force /etc/logrotate .d /tomcat |
要想获得logrotate程序的更多帮助信息,可以查看其man page,
1
|
man logrotate |
可以看一下catalina.out轮转前后的文件大小,
轮转之前:
1
2
3
4
|
du -sh * ... 2.0G catalina.out # 未轮转之前的文件大小 ... |
轮转之后的文件大小:
1
2
3
|
# du -sh catalina.out* 2.0M catalina.out 60M catalina.out.1.gz # 轮转之后,进行压缩,日志文件变得更小了 |
另外在Tomcat的logs目录,每天都会产生很多日志文件,我们也可以定期手工或使用定时任务来删除7天前的日志文件,这里使用手工的方式进行演示,
1
2
|
cd /usr/local/apache-tomcat-8 .0.28 /logs find -mtime +7 - exec rm -f {} \;
|
转自:http://blog.51cto.com/lavenliu/1765791
Tomcat日志文件catalina.out文件过大问题的更多相关文章
- tomcat 日志切割 catalina.out
在实际生产环境中,tomcat的 catalina.out日志默认是不切割的,由于看起来很不方便,以及在备份等方面都比较麻烦.是时候切割该文件了. 环境说明 centos 7.3 tomcat 8.5 ...
- tomcat日志 之 catalina.log & localhost.log
体会 catalina.out catalina.log 是tomcat的标准输出(stdout)和标准出错(stderr) cataliana.{yyyy-MM-dd}.log和localhost. ...
- 解决Linux下Tomcat日志目录下的catalina.log日志文件过大的问题
本文摘自:(http://blog.csdn.net/stevencn76/article/details/6246162) 分类: Java技术专区2011-03-13 12:25 5017人阅读 ...
- shell脚本切割tomcat日志文件
转自:http://www.cnblogs.com/lishun1005/p/6054816.html 鉴于在调试logback和log4j的文件切割一直无法成功,随性用shell写个脚本用来切割to ...
- taomcat中catalina.out文件
项目中发现在linux环境下布署的tomcat所占用的磁盘空间越来越大,是catalina.out 文件,每天几乎是2个G,发现可能会影响到tomcat服务(没确定)正常访问.文件这么大,其实已经无法 ...
- 远程部署项目,修改catalina.bat文件 完美解决在代理服务器上HttpURLConnection 调接口超时的问题
远程给客户部署项目,运行时程序调外部接口时总是出不去,经过不懈努力,后来发现客户那边的网络走的是代理,于是在代码中加下面代码: //设置代理 System.setProperty("http ...
- 配置tomcat日志分割
由于Tomcat在默认情况下会将没有经过配置的web应用所产生的日志输出已及其本身的日志内容都输出到这个文件中,那么随着时间的推移,这个文件的尺寸将会越来越大,当需要检查日志内容时间会导致文件难以打开 ...
- 配置Tomcat监听80端口、配置Tomcat虚拟主机、Tomcat日志
6月27日任务 16.4 配置Tomcat监听80端口16.5/16.6/16.7 配置Tomcat虚拟主机16.8 Tomcat日志扩展邱李的tomcat文档 https://www.linuser ...
- 切分 Tomcat 的 catalina.out 文件,解决日志文件过大的问题
原文:http://unmi.cc/split-tomcat-catalina-out-file Linux 下使用 cronolog 工具来切分 catalina.out 这里重点介绍这种方法,具体 ...
随机推荐
- k8s(6)-滚动更新
用户希望应用程序始终可用,开发人员应该每天多次部署新版本的应用程序.在Kubernetes中,这是通过滚动更新完成的.滚动更新允许通过使用新的实例逐步更新Pods实例来实现部署的更新,从而实现零停机. ...
- HTML5 移动端的上下左右滑动问题
在移动端页面上,如果要实现[顶部轮播,手指触摸左右滑动]我的方案是,通过监听滑动,阻止默认事件来完成 div.addEventListener('touchmove',function(event){ ...
- sql语句的存储过程中的条件处理
SQL语句的crud操作很多可能是相似的,或者重复的,这时可以将其总结我一个存储过程,即函数,这样就可以实现代码复用,也就是函数. 这时候的控制语句就像编程语言c,java的一样,其中有很多关键词CA ...
- HTML <script> 标签的 defer 和 async 属性
HTMKL <script>标签中有defer和async属性,简单介绍一下两者的区别吧. 普通的script标签会让浏览器立即下载并执行完毕,执行也是按照先后顺序,再进行后面的解析. ...
- 【C++ 实验5 类和对象】
1. #include <iostream> #include <vector> #include <string> using namespace std; // ...
- java.io.UTFDataFormatException: encoded string too long:
java.io.UTFDataFormatException: encoded string too long: 259553 bytes 按如下修改可避开此问题. - output.writeUTF ...
- SpringBoot--web版的ocr
这个项目主要是为了熟悉SpringBoot搭建web项目,及打war包,部署到tomcat中 先贴页面吧 页面很low 毕竟我只是菜鸟,该app程序功能已经写完了,上传图片到服务器,后台接口解析图片中 ...
- 项目实战02:LVS 实现负载均衡
目录 实现基于LVS负载均衡集群的电商网站架构 实战一:LVS的NAT模式实现负载均衡 实战二:LVS的DR 模式实现负载均衡 实战三:实现80.443端口都可访问服务,且LVS实现持久连接 实验四: ...
- [daily][fedora][netctl][nmcli] 设置笔记本为台式机网关
TAG:将一个网卡动态增减到网桥里的配置 场景是这样的. 我的笔记本无线网卡用来访问互联网.OS里面有一个birdge用来链接所有的虚拟机帮助虚拟机上网. 现在有了一台台式机.台式机用来做hyperv ...
- spark优化设置
->>>配置参数优化 SparkConf sc = new SparkConf().setAppName("com.sp.test.GroupTop3").set ...