在Debian系统中,Tomcat的日志轮转通常是通过logrotate工具来实现的。以下是配置Tomcat日志轮转的步骤:
安装logrotate(如果尚未安装):
sudo apt-get update
sudo apt-get install logrotate
创建或编辑logrotate配置文件:
Debian系统通常会在/etc/logrotate.d/目录下为每个需要轮转日志的服务创建一个配置文件。对于Tomcat,你可能需要编辑或创建一个名为tomcat的文件。
sudo nano /etc/logrotate.d/tomcat
添加以下内容到配置文件中:
/var/log/tomcat/*.log {
    daily
    missingok
    rotate 7
    compress
    notifempty
    create 640 tomcat adm
    sharedscripts
    postrotate
        if [ -f /var/run/tomcat.pid ]; then
            /usr/share/tomcat/bin/shutdown.sh
        fi
    endscript
}
这里的配置解释如下:
daily: 每天轮转日志。missingok: 如果日志文件丢失,不要报错。rotate 7: 保留7个旧的日志文件。compress: 压缩旧的日志文件。notifempty: 如果日志文件为空,则不轮转。create 640 tomcat adm: 创建新的日志文件,权限为640,属主为tomcat,属组为adm。sharedscripts: 只有在所有日志文件都被轮转后才执行postrotate脚本。postrotate和endscript之间的脚本会在日志轮转后执行。这里用于重启Tomcat服务以确保新的日志文件被创建。测试logrotate配置: 你可以使用以下命令来测试你的logrotate配置是否正确:
sudo logrotate -f /etc/logrotate.d/tomcat
这个命令会强制执行一次日志轮转,并且不会等待下一次轮转周期。
确保cron任务运行logrotate:
Debian系统通常会自动设置cron任务来定期运行logrotate。你可以检查/etc/cron.daily/logrotate文件是否存在并且可执行:
ls -l /etc/cron.daily/logrotate
如果这个文件存在,那么logrotate将会每天运行一次。
请注意,根据你的具体需求和Tomcat的安装位置,你可能需要调整上述配置文件中的路径和参数。此外,如果你使用的是systemd管理的Tomcat服务,你可能需要在/etc/systemd/system/tomcat.service文件中添加StandardOutput=append:/var/log/tomcat/catalina.out这样的行,以确保Tomcat的输出被正确地重定向到日志文件中。