我有一个 Tomcat 服务器,它通过阀门(org.apache.catalina.valves.FastCommonAccessLogValve)创建访问日志。该阀负责轮换访问日志文件,但不会在一段时间后压缩或删除它们。
目前,我有一个find [...] -mtime +30 [...]
用于压缩和删除日志的 cron 作业。我宁愿使用 logrotate,以便日志轮换位于所有日志的集中位置。我不喜欢只针对 Tomcat 的单独解决方案。
我试图阅读 logrotate 文档,但我仍然有点迷茫。我可以使用 logrotate 来压缩和清理日志文件吗?我该怎么做?
或者扭转问题,是否有 Tomcat 访问日志阀可以压缩和清理日志文件?
感谢您的帮助 !
Dec*_*ado 18
我见过的相当简单的工作是这样的。
在 /etc/logrotate.d 中创建一个名为 tomcat 的文件,其中包含以下内容:-
/var/log/tomcat/catalina.out {
copytruncate
daily
rotate 7
compress
missingok
}
Run Code Online (Sandbox Code Playgroud)
这每天运行,压缩文件,并保持 7 天的价值(轮换 7)。copytruncate意味着它会复制然后截断原始文件,这样就不需要重新启动tomcat。如果不存在,则缺少 ok不会出错。
可以通过添加 rotatable=false 将 access.log Valve 更改为不旋转:-
<Valve className="org.apache.catalina.valves.AccessLogValve
...
...
suffix="log" rotatable="false" />
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
48127 次 |
最近记录: |