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