要清理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的日志文件,避免磁盘空间被过多占用。