在CentOS系统中,Tomcat的日志轮转通常是通过logrotate工具来实现的。以下是配置Tomcat日志轮转的步骤:
确保logrotate已安装: 在CentOS 7及以上版本中,logrotate通常已经预装。如果没有,可以使用以下命令安装:
sudo yum install logrotate
创建或编辑logrotate配置文件:
打开或创建一个名为/etc/logrotate.d/tomcat
的文件,并添加以下内容:
/path/to/tomcat/logs/catalina.out {
copytruncate
daily
rotate 7
compress
missingok
notifempty
create 640 tomcat adm
}
其中,/path/to/tomcat/logs/catalina.out
是Tomcat的catalina.out日志文件的路径。请根据实际情况进行替换。
配置项解释:
copytruncate
:在日志文件被轮转之前,先将其复制一份,然后清空原日志文件。这样可以确保Tomcat在写入日志时不会被中断。daily
:每天轮转一次日志文件。rotate 7
:保留7个轮转后的日志文件。compress
:压缩轮转后的日志文件。missingok
:如果日志文件不存在,不会报错。notifempty
:如果日志文件为空,不进行轮转。create 640 tomcat adm
:创建新的日志文件,权限为640,属主为tomcat,属组为adm。测试logrotate配置: 使用以下命令测试logrotate配置是否正确:
sudo logrotate -f /etc/logrotate.d/tomcat
如果没有错误信息,说明配置正确。
设置定时任务:
logrotate通常已经配置了定时任务,每天凌晨执行一次。可以通过查看/etc/cron.daily/logrotate
文件来确认。如果没有这个文件,可以创建一个,并添加以下内容:
#!/bin/sh
/usr/sbin/logrotate /etc/logrotate.conf
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
/usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0
然后,给予执行权限:
sudo chmod +x /etc/cron.daily/logrotate
现在,Tomcat的日志轮转应该已经配置好了。每天凌晨,logrotate会自动执行,轮转Tomcat的日志文件。