Linux下Tomcat catalina.out自动归档的几种方式

Stella981
• 阅读 714

问题:为什么需要归档?

  • 如果 catalina.out 日志达到 2GB 大小的时候,Tomcat 因为缓存问题,便没有办法继续输出日志了。

  • 为了避免这种情况,你需要及时对 catalina.out  进行归档。

问题:tomcat自身对日志内容进行归档,为什么日志还是会越来越大

  • 实际上 Tomcat 自身也会对日志内容进行归档,但是归档后,Tomcat 不会清理 catalina.out 的内容,这将会导致 catalina.out  越来越大

解决方案

  • 使用场景:Linux/Unix
  • 使用方式:采取logrotate日志轮询

执行命令:

vi /etc/logrotate.d/tomcat

输入以下内容:

/opt/apache-tomcat-8.0.15/logs/catalina.out{  
rotate 10 
copytruncate  
daily  
dateext 
nocompress  
missingok  
notifempty  
}

参数功能:

  • copytruncate 用于还在打开中的日志文件,把当前日志备份并截断

  • daily  指定转储周期为每天

  • dateext 使用日期作为命名格式,切换后的日志文件会附加上一个短横线和YYYYMMDD格式的日期

  • 例:error.log-20150506,没有这个配置项会附加一个小数点加一个数字序号

  • nocompress 不需要压缩时,用这个参数

  • missingok 如果日志不存在则忽略该警告信息

  • notifempty 表示如果log文件是空的,就不进行rotate

 完成上面的工作后,你可以不需要在你的操作系统中做任何工作,日志归档程序将会每天对你的日志进行归档的。

执行命令

/usr/sbin/logrotate -f /etc/logrotate.conf

执行命令后,在/opt/apache-tomcat-8.0.15/logs/里面会存在catalina.out-20150605,而catalina.out的大小变为了0

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Easter79 Easter79
3年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Stella981 Stella981
3年前
Spring Boot日志集成
!(https://oscimg.oschina.net/oscnet/1bde8e8d00e848be8b84e9d1d44c9e5c.jpg)SpringBoot日志框架SpringBoot支持JavaUtilLogging,Log4j2,Lockback作为日志框架,如果你使用star
Wesley13 Wesley13
3年前
ORACLE DATAGUARD 日志传输状态监控
ORACLEDATAGUARD的主备库同步,主要是依靠日志传输到备库,备库应用日志或归档来实现。当主、备库间日志传输出现GAP,备库将不再与主库同步。因此需对日志传输状态进行监控,确保主、备库间日志没有GAP,或发现GAP后及时处理。除了在告警日志中查看日志同步情况外,还可以通过查看相关视图来对日志传输状态进行监控。1、主、备库查看当前日志状况
Wesley13 Wesley13
3年前
Oracle physical dataguard with broker部署
一、环境说明主库:10.110.96.88备库:10.110.96.87数据库实例:gisc二、主库操作1.开启forceloggingALTERDATABASEFORCELOGGING;2.开启日志归档a.查看日志归档是否开启ARCHIVELOGLI
Stella981 Stella981
3年前
JOptionPane修改图标
1.在Linux平台下.JOptionPane会显示Java默认的图标,在window平台不显示图标,如何替换这个图标了?2JOptionPane.setIcon(Icon)修改的是内容区域的icon,而不是左上角的Icon.所以需要通过修改Jdialog/Frame的图标来达到修改默认图标的问题.3.代码:if(JOptio
Wesley13 Wesley13
3年前
Oracle归档日志处理
1.altersystemswitchlogfile;\shutdownabort;2.然后shutdownimmediate;1.看看现在用了多少归档日志了(按百分比): sqlplussys/密码@实例名assysdbasqlplussys/密码assysdbaselect\from
Wesley13 Wesley13
3年前
ORACLE数据库基础知识总结
1、RMAN全备备份文件的顺序备份归档日志、所有的数据文件、控制文件、spfile、再次备份归档日志2、redo日志丢失恢复redo日志的三种状态是current、active、inactiveinactive,可以重建clearlogactive、current不能变成inactive,只能通过不完全恢复进行恢复,然后重建日志文件3、口令文
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这