项目中发现在linux环境下布署的tomcat所占用的磁盘空间越来越大,是catalina.out 文件,每天几乎是2个G,发现可能会影响到tomcat服务(没确定)正常访问。
文件这么大,其实已经无法用文本文档工具打开查看。
catalina.out是在catalina_home/bin/catalina.sh文件中创建的

这个问题,如果想解决,方式也有一些
1.Tomcat关闭日志输出
具体方法详见:http://www.cnblogs.com/Alanf/p/7905478.html
------------------------------------------------------------
2.分割日志的方式    
利用cronolog工具将tomcat产生的catalina.out文件根据日期进行分割,
将每天产生的日志存放在一个独立的文件中,这样单个文件就不会太大,方便维护和检查日志。
方法如下:
1.安装cronolog工具,到http://cronolog.org/进行下载cronolog-1.6.2.tar.gz
(1)解压:tar  zxvf  cronolog-1.6.2.tar.gz
(2)进入解压后的目录: cd cronolog-1.6.2
(3)执行:./configure
(4)编译:make
(5)安装:make install
可以查看安装路径,用命令:which  cronolog  (安装路径后面会用到,路径默认为)
(6)设置tomcat
在tomcat/bin/catalina.sh中找到:
    org.apache.catalina.startup.Bootstrap "$@" start \
    >> "$CATALINA_BASE"/logs/catalina.out 2&1 &

将其改为:
    org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \
     |/usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.out.%Y-%m-%d >> /dev/null &

注:在此要留意空格和换行,其中/usr/local/sbin/cronolog为cronolog的安装目录
在 if 和 else 中都要进行修改。
ok,配置完成,重启tomcat,在tomcat/logs/下看到类似catalina.out.2012.3.29这样的文件说明操作已经成功。
---------------------------------------------------------
3.定期轮转catalina.out日志文件

这里使用CentOS6U5自带的logrotate程序来解决catalina.out的日志轮转问题。
这种方式比较简单。
在/etc/logrotate.d/目录下新建一个名为tomcat的文件,

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

以上的配置说明:
/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程序。
在命令行进行如下运行:
logrotate /etc/logrotate.conf
或者只轮转刚刚的tomcat配置文件,可以这样运行:
logrotate --force /etc/logrotate.d/tomcat

要想获得logrotate程序的更多帮助信息,可以查看其man page,
man logrotate

可以看一下catalina.out轮转前后的文件大小,

轮转之前:
du -sh *
...
2.0G    catalina.out # 未轮转之前的文件大小
...

轮转之后的文件大小:
# du -sh catalina.out*
2.0M    catalina.out
60M catalina.out.1.gz # 轮转之后,进行压缩,日志文件变得更小了

另外在Tomcat的logs目录,每天都会产生很多日志文件,
我们也可以定期手工或使用定时任务来删除7天前的日志文件,这里使用手工的方式进行演示,

cd /usr/local/apache-tomcat-8.0.28/logs
find -mtime +7 -exec rm -f {} \;
---------------------------------------------------------------------

日志查看有用的一个方法,查看前清理一下catalina.out文件
清理方式是:
[root@sjb logs]# cat > catalina.out
然后按一下 crtl+z

ok了。

备注:随笔中内容来源于网上资料整理,仅供参考。

taomcat中catalina.out文件的更多相关文章

  1. 切分 Tomcat 的 catalina.out 文件,解决日志文件过大的问题

    原文:http://unmi.cc/split-tomcat-catalina-out-file Linux 下使用 cronolog 工具来切分 catalina.out 这里重点介绍这种方法,具体 ...

  2. [转载]Linux下tomcat的catalina.out文件过大,以及目录更改解决办法

    原文链接:http://liyan0524.iteye.com/blog/1285644 方法1—分割流 使用cronolog工具切分Tomcat的catalina.out日志文件 cronolog一 ...

  3. Linux 下cronolog分割catalina.out文件

    开发项目的时候查看日志,发现catalina.out已经有1个多G,日积月累的慢慢变大,幸亏及时发现还没有导致错误, tomcat默认日志之一输出在catalina.out文件中的,不会分割,不便于使 ...

  4. Tomcat日志文件catalina.out文件过大问题

    随着项目的运行,Tomcat的日志文件catalina.out的大小日益增大,现在都有好几个GB了.如果我们不做任何处理,catalina.out的文件大小将会持续增加,直到把我们的系统硬盘空间给撑爆 ...

  5. tomcat生成catalina.out文件

    生成catalina.out方法 导语:本文为Windows下生tomcat将控制台信息输出到catalina.out文件  且 保证能实时查看日志文件的方法. 一.创建catalina.out 1. ...

  6. Tomcat中server.xml文件的配置

    server.xml文件当中可配置如下信息: 1)配置端口号(如果是正式网站,要把8080改成80)<Connector executor="tomcatThreadPool" ...

  7. 解决catalina.out文件过大的问题

    有用Tomcat的人,绝对都会遇到这样一个问题:catalina.out文件过大. 它是Tomcat默认生成的日志文件,会随着时间的推移,逐渐增大,不断的增长,甚至达到几G,几十G的大小.由于文件过大 ...

  8. Tomcat 中 catalina.out、catalina.log、localhost.log 和 access_log 的区别

    打开 Tomcat 安装目录中的 log 文件夹,我们可以看到很多日志文件,这篇文章就来介绍下这些日记文件的具体区别. catalina.out 日志 catalina.out 日志文件是 Tomca ...

  9. 远程部署项目,修改catalina.bat文件 完美解决在代理服务器上HttpURLConnection 调接口超时的问题

    远程给客户部署项目,运行时程序调外部接口时总是出不去,经过不懈努力,后来发现客户那边的网络走的是代理,于是在代码中加下面代码: //设置代理 System.setProperty("http ...

随机推荐

  1. Delphi 判断特定字符是为单字节还是双字节

    判断特定字符是为单字节还是双字节 // mbSingleByte 单字节字符 //mbLeadByte 双字节字符首字节 //mbTrailByte 双字节字符尾字节 Edit1.Text:='010 ...

  2. 专家揭秘:STM32启动过程全解

    电子发烧友网核心提示:本文主要阐述了STM32启动过程全面解析,包括启动过程的介绍.启动代码的陈列以及深入解析. 相对于ARM上一代的主流ARM7/ARM9内核架构,新一代Cortex内核架构的启动方 ...

  3. zabbix部署agent

    1.下载zabbix源 rpm -Uvh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-2.el7.noarc ...

  4. CSS 6种完全居中最佳实践(整理)

    2016年4月28日 1.最佳法: .Absolute-Center { width: 50%; height: 50%; overflow: auto; margin: auto; position ...

  5. PAT_A1069#The Black Hole of Numbers

    Source: PAT A1069 The Black Hole of Numbers (20 分) Description: For any 4-digit integer except the o ...

  6. HTML设置span宽度

    CSS中的 width 属性并不总是有效的如果对象是 inline 对象,width 属性就会被忽略,Firefox 和 IE 是遵循CSS标准,因而直接设置span宽度会无效. 解决:span { ...

  7. FVWM使用指南

    www.ctex.org/documents/shredder/fvwm_frame.html

  8. Java实验报告(四)&第六周学习总结

    班级 计科二班 学号 20188425 姓名 IM 完成时间2019/10/07 评分等级 一.实验目的 (1)掌握类的继承 (2)变量的继承和覆盖,方法的继承,重载和覆盖的实现: 二.实验的内容 ( ...

  9. Seq2Seq和Attention机制入门介绍

    1.Sequence Generation 1.1.引入 在循环神经网络(RNN)入门详细介绍一文中,我们简单介绍了Seq2Seq,我们在这里展开一下 一个句子是由 characters(字) 或 w ...

  10. HDU 1398 Square Coins(DP)

    Square Coins Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tota ...