要清理Tomcat的舊日志,可以按照以下步驟進行操作:
查找日志文件:
使用命令 find / -type f -name "catalina.out"
來查找Tomcat的日志文件。
清空日志文件: 可以使用以下命令清空日志文件內容,而不刪除文件本身:
echo -n "" > /path/to/tomcat/logs/catalina.out
禁止日志文件輸出:
編輯Tomcat的 catalina.sh
文件,注釋掉日志輸出的路徑:
if [ -z "$CATALINA_OUT"] ; then
CATALINA_OUT="/dev/null"
fi
使用Logrotate進行日志輪轉:
配置 logrotate
來定期輪轉和清理日志文件。以下是一個示例配置:
/usr/local/apache-tomcat-8.0.28/logs/catalina.out {
copytruncate
daily
rotate 7
missingok
compress
size 16M
}
這個配置表示每天對 catalina.out
文件進行輪轉,保留最近7天的日志,并對其進行壓縮處理。
定時任務:
使用 crontab
設置定時任務來自動執行日志清理腳本。例如,每天凌晨執行清理腳本:
0 0 * * * /path/to/tomcat/logs/clean_logs.sh
編寫清理腳本: 創建一個Shell腳本來定期清理舊的日志文件:
#!/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 {} \;
然后給腳本添加執行權限并配置定時任務。
通過這些步驟,可以有效地管理Tomcat的日志文件,避免磁盤空間被過多占用。