解决catalina.out文件过大的问题
有用Tomcat的人,绝对都会遇到这样一个问题:catalina.out文件过大。
它是Tomcat默认生成的日志文件,会随着时间的推移,逐渐增大,不断的增长,甚至达到几G,几十G的大小。由于文件过大,不仅占系统的存储,我们还将无法使用过常规的编辑工具进行查看,严重影响系统的维护工作。
对此,出现了以下几种解决catalina.out文件过大的方案。
简洁型
1.手动版
每次监控到tomcat的硬盘空间变小达到阈值,手动登陆服务器,切换到tomcat的logs下,手动清空
echo " " > catalina.out
2.脚本版
编写脚本,放入计划任务中,定时清空
crontab -e
0 24 * * * sh /root/qin_catalina.out.sh
vim qin_catalina.out.sh
#!/usr/bin/bash
echo " " > catalina.out
技术型
1.日志切割工具版0.1
使用cronolog日志切分工具切分Tomcat的catalina.out日志文件
<1>下载cronolog,并进行安装
wget http://cronolog.org/download/cronolog-1.6.2.tar.gz (中国服务器可能无法下载或下载缓慢,可先下载到境外服务器上)
tar zxvf cronolog-1.6.2.tar.gz
./cronolog-1.6.2/configure
make
make install
(默认安装在/usr/local/sbin下)
<2>.配置
在tomcat/bin/catalian.sh中
org.apache.catalina.startup.Bootstrap "$@" start \ >> "$CATALINA_BASE"/logs/catalina.out 2&1 &
改成:
org.apache.catalina.startup.Bootstrap"$@" start \ |/usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null 2>&1 &
或
org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \ | /usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null &
并注释 touch "$CATALINA_OUT"
<3>重启Tomcat
Tomcat输出日志文件分割成功,输出log文件格式变为:catalina.2017-05-15.out
1.日志切割工具版0.2
CentOS6.5后自带logrotate程序,可以解决catalina.out的日志轮转问题
<1>在/etc/logrotate.d/目录下新建一个tomcat的文件
cat >/etc/logrotate.d/tomcat
/usr/local/tomcat/logs/catalina.out{ 要轮转的文件
copytruncate 创建新的catalina.out副本,截断源catalina.out文件
daily 每天进行catalina.out文件的轮转
rotate 7 至多保留7个副本
missingok 文件丢失了,轮转不报错
compress 使用压缩
size 16M 当catalina.out文件大于16MB,就轮转
}
<2>当执行以上操作时是自动执行的,也可手动切割
logrotate /etc/logrotate.conf
如果只轮转tomcat配置文件,要指定文件
logrotate --force /etc/logrotate.d/tomcat
<3>删除要清理的日志
手工查找需要清理的日志文件
cd /usr/local/tomcat/logs
rm -rf catalina.out.4.gz
2.日志切割脚本版
使用cron每天来定时备份当前的catalina.out,然后清空他的内容;
<1>crontab -e
30 * * * * sh /root/qie_catalina.out.sh
<2>cat qie_catalina.out.sh 参考脚本
#!/bin/bash
y=`date "+%Y"`
m=`date "+%m"`
d=`date "+%d"`
cp /etc/tomcat/logs/catalina.out /etc/tomcat/logs/`catalina.out.$y_$m_$d`
echo " " > catalina.out
3.修改日志级别版
日志级别:
SEVERE (highest value) > WARNING > INFO > CONFIG > FINE > FINER > FINEST (lowest value)
<1>修改conf/logging.properties日志配置文件,将level级别设置成WARNING减少日志的输出。也可以设置成OFF,直接禁用。
catalina.org.apache.juli.FileHandler.level = WARNING
catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
catalina.org.apache.juli.FileHandler.prefix = catalina.
解决catalina.out文件过大的问题的更多相关文章
- [转载]Linux下tomcat的catalina.out文件过大,以及目录更改解决办法
原文链接:http://liyan0524.iteye.com/blog/1285644 方法1—分割流 使用cronolog工具切分Tomcat的catalina.out日志文件 cronolog一 ...
- 解决redis aof文件过大的问题
执行BGREWRITEAOF命令对redis的AOF进行重写 redis-cli BGREWRITEAOF 相关解释: Redis的AOF机制有点类似于Mysql binlog,是Redis的提供的一 ...
- Tomcat日志catalina.out文件过大的处理方法
原文地址:http://lcbk.net/tomcat/1396.html 我们知道一般企业使用Tomcat 作为Web端时,它产生的日志会越来越大,特别是catalina.out这个日志文件,然而有 ...
- sql点滴39—解决数据库日志文件过大的问题
随着数据库使用时间增长,日志文件也在不停的增大,这里介绍几种方法减小这个文件的方法. 1.直接删除log文件(一般不建议) 分离数据库.分离数据库之前一定要做好数据库的全备份,选择数据库——右键——任 ...
- 解决sql脚本文件太大无法打开的问题
as we known,sql数据库高版本向低版本还原是不太可能但是又经常会碰到的事,今天实测了一种方法 步骤:任务—>生成脚本—> 下一步->高级,选择数据库版本和编写脚本数据类型 ...
- SQL数据库从高版本到低版本的迁移,同时解决sql脚本文件太大无法打开的尴尬问题
as we known,sql数据库高版本向低版本还原是不太可能但是又经常会碰到的事,今天实测了一种方法 步骤:任务—>生成脚本—> 下一步->高级,选择数据库版本和编写脚本数据类型 ...
- Nginx开启gzip压缩解决react打包文件过大
用create-react-app创建的react应用打包之后的build js有1M之多. 采用gzip打包传输,可以节约70%左右的带宽 nginx采用gzip打包方式 在nginx配置中添加如下 ...
- 解决asp.net上传文件时文件太大导致的错误
即使在web.config中添加了节点和设置依然是不行的,还是报文件太大的错误, <httpModules> <add name="UploadHttpModu ...
- 关于php上传文件过大的表单回填
也许标题有点绕口,有点无法让人理解.请原谅博主,语文学的不好,都赖体育老师. 问题场景重现:在某次迭代中,接到这样一个需求:当新建或编辑一个Bug(包含附件以及其他字段)上传附件过大时,退回到编辑页面 ...
随机推荐
- 【解决】Pod 状态一直 Terminating,Need to kill Pod
偶然查看服务时发现有个单副本的 pod 一直处于Terminating状态,已达 8 天之久,且手动删除删除不掉 [appuser@lyj 2019-09-20 14:35:36 ~]$ kubect ...
- virsh console 登录CentOS7系统
一.在kvm虚拟机中执行如下命令 systemctl start serial-getty@ttyS0.service systemctl enable serial-getty@ttyS0.serv ...
- BSGS学习笔记
用于求\(A^{x} \equiv B \pmod{C}\) 高次方程的最小正整数解x,其中C为素数 引理1:$a^{i\mod\varphi(p) } \equiv a^{i} $ (mod p) ...
- OAuth 第三方登录授权码(authorization code)方式的小例子
假如上面的网站A,可以通过GitHub账号登录: 下面以OAuth其中一种方式,授权码(authorization code)方式为例. 一.第三方登录的原理 所谓第三方登录,实质就是 OAuth 授 ...
- Zipkin 知识点
在Spring Cloud D版本,zipkin-server通过引入依赖的方式构建工程,自从E版本之后,这一方式改变了,采用官方的jar形式启动. 出处:https://juejin.im/post ...
- tomcat学习之路
一:介绍目录文件夹 bin文件夹:放置可执行文件 startup.bat:脚本文件,windows环境,起服务 shutdown.bat:脚本文件,windows环境,关闭 startup.sh:脚本 ...
- NSURLProtocol
An NSURLProtocol object handles the loading of protocol-specific URL data. @abstract This method reg ...
- AlwaysInstallElevated提权
前言:自己在学习3gstudent的AlwaysInstallElevated提权的文章中,他说过由于Metasploit的某些原因会导致权限不够,所以自己就尝试去复现其他的两种方法了,详细的文章参考 ...
- 【C/C++】指针
指针定义 指针是一个变量,其值为另一个变量的地址,即,内存位置的直接地址.就像其他变量或常量一样,必须在使用指针存储其他变量地址之前,对其进行声明.指针变量声明的一般形式为: type *var-na ...
- luogu_4287:双倍回文
洛谷4287:双倍回文 前言: 参考博文: https://www.cnblogs.com/Vscoder/p/10498625.html 题目描述: 记字符串\(w\)的倒置为\(w^R\).例如\ ...