以下是Ubuntu Tomcat日志清理的常用技巧:
${CATALINA_HOME}/logs目录,可通过echo $CATALINA_HOME查看路径。find命令删除指定天数前的日志,如删除7天前的.log文件:find /path/to/tomcat/logs -type f -name "*.log" -mtime +7 -exec rm -rf {} \;
catalina.out:echo "" > /path/to/tomcat/logs/catalina.out
sudo apt-get install logrotate
sudo vi /etc/logrotate.d/tomcat
添加以下内容(按需调整路径和保留天数):/path/to/tomcat/logs/*.log {
daily
rotate 7
compress
missingok
notifempty
copytruncate
}
rotate 7:保留7天日志;compress:压缩旧日志;copytruncate:清空原文件而非删除。sudo logrotate -d /etc/logrotate.d/tomcat # 测试配置
sudo logrotate -f /etc/logrotate.d/tomcat # 强制执行
clear_tomcat_logs.sh:#!/bin/bash
LOG_DIR="/path/to/tomcat/logs"
find "$LOG_DIR" -type f -name "*.log" -mtime +7 -exec rm -rf {} \;
echo "" > "$LOG_DIR/catalina.out"
crontab -e添加每日凌晨执行:0 0 * * * /path/to/clear_tomcat_logs.sh
conf/logging.properties,将级别设为WARNING或ERROR:org.apache.catalina.level = WARNING
conf/server.xml中注释掉不需要的AccessLogValve配置。logrotate,避免手动删除导致日志丢失。