linux – logrotate:删除超过n天的tomcat / jboss日志
我没有找到清除旧的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天的旋转文件. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |