【Tomcat】在 linux 上实现 Catlina.log 自动分割,防止文件过大
在Linux系统上,Tomcat的catalina.out
日志文件可以通过配置logrotate来自动分割,以防止文件过大。以下是一个基本的logrotate配置示例:
- 创建一个新的logrotate配置文件,例如
/etc/logrotate.d/tomcat
:
nano /etc/logrotate.d/tomcat
- 添加以下内容到文件中:
/path/to/tomcat/logs/catalina.out {
copytruncate
daily
rotate 7
compress
missingok
create 640 tomcat tomcat
}
解释:
copytruncate
: 在复制和截断原始文件后进行轮替,这样Tomcat进程就可以继续写入catalina.out
,无需重启。daily
: 指定日志文件每天轮替一次。rotate 7
: 保留7天内的日志文件。compress
: 通过gzip压缩轮替后的日志文件。missingok
: 如果日志文件不存在,则不执行轮替。/path/to/tomcat/logs/catalina.out
: 替换为你的Tomcat日志文件的实际路径。create 640 tomcat tomcat
: 创建新日志文件,设置权限和所有者。
- 保存文件并退出编辑器。
- 测试logrotate配置是否正确:
logrotate /etc/logrotate.d/tomcat --verbose
- 确保logrotate定时任务正在运行:
sudo systemctl status logrotate.service
如果服务未运行,使用以下命令启动:
sudo systemctl start logrotate.service
以上步骤将设置logrotate,以便每天自动轮替和压缩Tomcat的catalina.out
日志文件,并且保留7天内的历史记录。
评论已关闭