CentOS上Tomcat日志清理策略主要有以下几种:
手动清理
/var/log/tomcat/或/opt/tomcat/logs/),使用find命令删除过期日志,如find /path/to/logs -type f -name "*.log" -mtime +30 -exec rm -rf {} \;(删除30天前的.log文件)。catalina.out文件:echo "" > /path/to/tomcat/logs/catalina.out。脚本定期清理
clean.sh),通过crontab设置定时任务(如每天凌晨执行)。示例脚本内容:#!/bin/bash
LOG_DIR="/path/to/tomcat/logs"
find "$LOG_DIR" -type f -name "*.log" -mtime +7 -exec rm -rf {} \; # 删除7天前日志
添加定时任务:crontab -e,添加0 0 * * * /path/to/clean.sh。使用logrotate工具(推荐)
logrotate(若未安装):sudo yum install logrotate。/etc/logrotate.d/tomcat,内容示例:/path/to/tomcat/logs/catalina.out {
daily
rotate 7
compress
missingok
notifempty
copytruncate
}
参数说明:daily(每日轮转)、rotate 7(保留7天)、compress(压缩旧日志)、copytruncate(截断原文件而非删除)。配置Tomcat日志框架
conf/logging.properties文件,设置日志保留天数,如:1catalina.org.apache.juli.AsyncFileHandler.maxDays=30(保留30天日志)。注意事项: