加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – logrotate:删除超过n天的tomcat / jboss日志

发布时间:2020-12-14 00:30:13 所属栏目:Linux 来源:网络整理
导读:我没有找到清除旧的tomcat或jboss日志或任何其他带时间戳的日志的解决方案:catalog.log./server.log ..基本上这些日志由jboss旋转为: server.log,server.log.20131201,server.log.20131203等. 有没有办法我可以使用logrotate删除超过n天的日志?我不想在po
我没有找到清除旧的tomcat或jboss日志或任何其他带时间戳的日志的解决方案:catalog.log./server.log ..基本上这些日志由jboss旋转为:
server.log,server.log.20131201,server.log.20131203等.

有没有办法我可以使用logrotate删除超过n天的日志?我不想在postrotate里面使用find或调整jboss / tomcat日志属性.我只想知道logrotate是否可以实现这一点.我知道这不是很有效率,但我遇到了一个问题,我需要回答这个问题.

解决方法

如果你不想在postrotate里面使用find,那么你不能.

logrotate将Tomcat / JBoss轮换的每个server.log实例视为一个不同的文件,由于它们是唯一的,因此logrotate只会将它们旋转一次. maxage – 删除超过n天的旋转日志的指令 – 仅在要旋转日志文件时进行检查,以便maxage仅执行一次并且无法跟踪文件的年龄.

但是,如果您改变主意使用find,logrotate可以帮助您简化Tomcat和JBoss创建的日志文件的管理.我使用它来压缩和删除旧文件,配置文件如下:

/path/to/logs/server.log.????-??-?? {
    compress
    compresscmd /usr/bin/bzip2
    nocreate
    nodateext
    ifempty
    missingok
    rotate 1
    size 0
    start 0
    lastaction
        # Remove rotated files older than 180 days
        find /path/to/logs -name 'server.log.????-??-??.0.bz2' -mtime +180 -exec rm {} ;
    endscript
}

哪里:

>旋转1并压缩重命名并压缩,例如server.log.20131201到server.log.20131201.0.bz2.时间戳和.bz2扩展名之间的0来自开始0.> size 0确保始终重命名和压缩文件.> lastaction块删除超过180天的旋转文件.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读