定期清理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配置文件導致異常。