在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日志,避免磁盘空间被过多占用。