在Debian系统中配置Tomcat日志轮转,可以通过编辑/etc/logrotate.d/tomcat文件来实现。以下是详细的步骤:
首先,确保/etc/logrotate.d/tomcat文件存在。如果不存在,可以创建一个新文件:
sudo nano /etc/logrotate.d/tomcat
在文件中添加以下内容,根据你的需求进行调整:
/var/log/tomcat/*.log {
daily
missingok
rotate 7
compress
notifempty
create 640 tomcat adm
postrotate
if [ -f /var/run/tomcat.pid ]; then
/usr/share/tomcat/bin/shutdown.sh
fi
sleep 5
/usr/share/tomcat/bin/startup.sh
endscript
}
daily: 每天轮转日志。missingok: 如果日志文件丢失,不会报错。rotate 7: 保留7天的日志文件。compress: 轮转后的日志文件进行压缩。notifempty: 如果日志文件为空,则不轮转。create 640 tomcat adm: 创建新的日志文件,权限为640,属主为tomcat,属组为adm。postrotate 和 endscript: 在轮转日志后执行的脚本。确保Tomcat的PID文件路径正确。默认情况下,Tomcat的PID文件位于/var/run/tomcat.pid。如果你的Tomcat配置不同,请相应地修改postrotate脚本中的路径。
你可以手动测试日志轮转配置是否正确:
sudo logrotate -f /etc/logrotate.d/tomcat
确保logrotate服务正在运行,并且配置文件被正确加载:
sudo systemctl status logrotate
如果服务未运行,可以启动它:
sudo systemctl start logrotate
logrotate通常通过cron定时任务自动运行。确保/etc/cron.daily/logrotate脚本存在并且可执行:
sudo nano /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
通过以上步骤,你应该能够在Debian系统中成功配置Tomcat日志轮转。