定期清理Tomcat日志文件可通过以下方式实现:
使用logrotate工具(推荐)
sudo apt-get install logrotate
(Debian/Ubuntu)或sudo yum install logrotate
(CentOS)。/etc/logrotate.d/tomcat
,添加以下内容(以每天轮转、保留7天为例):/usr/local/tomcat/logs/catalina.out {
daily
rotate 7
compress
missingok
notifempty
copytruncate
}
```。
sudo logrotate -d /etc/logrotate.d/tomcat
,确认无误后自动生效。通过cron定时任务+脚本
clear_tomcat_logs.sh
):#!/bin/bash
LOG_DIR="/usr/local/tomcat/logs"
find "$LOG_DIR" -type f -name "*.log" -mtime +30 -exec rm -rf {} \;
find "$LOG_DIR" -type f -name "catalina.*.out" -mtime +30 -exec rm -rf {} \;
echo "" > "$LOG_DIR/catalina.out" # 清空catalina.out
```。
chmod +x clear_tomcat_logs.sh
。sudo crontab -e
,添加0 0 * * * /path/to/clear_tomcat_logs.sh
。配置Tomcat日志滚动(可选)
conf/logging.properties
,设置maxDays
参数控制日志保留天数(需重启Tomcat)。1catalina.org.apache.juli.AsyncFileHandler.maxDays=30
```。
注意:清理前建议备份重要日志,避免误删影响问题排查。优先使用logrotate或脚本+定时任务的方式,避免直接修改Tomcat配置文件导致异常。