在Ubuntu系統中,清理Tomcat日志可以通過以下幾種方法進行:
手動清理:
find / -type f -name "catalina.out" 來查找Tomcat的日志文件。echo -n "" > /path/to/tomcat/logs/catalina.out
catalina.sh 文件,注釋掉日志輸出的路徑:if [ -z "$CATALINA_OUT" ]; then CATALINA_OUT="/dev/null" fi
使用Logrotate進行日志輪轉:
sudo apt-get install logrotate
/etc/logrotate.d/tomcat:/usr/local/tomcat/logs/catalina.out {
daily
rotate 7
compress
missingok
notifempty
copytruncate
}
sudo logrotate -f /etc/logrotate.d/tomcat
sudo crontab -e
在crontab文件中添加以下行以每天執行日志輪轉:0 0 * * * root /usr/sbin/logrotate /etc/logrotate.d/tomcat
使用腳本自動化清理:
clean_tomcat_logs.sh:#!/bin/bash
LOG_DIR="/path/to/tomcat/logs"
find "$LOG_DIR" -mtime 30 -name "*.log" -exec rm -rf {} \;
find "$LOG_DIR" -mtime 30 -name "catalina.*.out" -exec rm -rf {} \;
chmod +x /path/to/tomcat/logs/clean_tomcat_logs.sh
crontab -e
在crontab文件中添加以下內容,每天凌晨執行腳本:0 0 * * * /path/to/tomcat/logs/clean_tomcat_logs.sh
使用Tomcat本身的日志管理功能:
conf/logging.properties 文件,設置日志文件的最大保留天數:handlers = 1catalina.org.apache.juli.AsyncFileHandler, 2localhost.org.apache.juli.AsyncFileHandler, 3manager.org.apache.juli.AsyncFileHandler, 4host-manager.org.apache.juli.AsyncFileHandler
1catalina.org.apache.juli.AsyncFileHandler.level = FINE
1catalina.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.
1catalina.org.apache.juli.AsyncFileHandler.maxDays = 7
通過以上方法,可以有效地管理Tomcat日志,避免磁盤空間被過多占用。