怎样清理Ubuntu Tomcat旧日志
导读:1. 定位Tomcat日志文件路径 Tomcat的日志文件默认存储在{CATALINA_HOME}/logs目录下({CATALINA_HOME}为Tomcat安装路径,可通过echo $CATALINA_HOME命令查看)。常见日志文件包...
1. 定位Tomcat日志文件路径
Tomcat的日志文件默认存储在{
CATALINA_HOME}
/logs
目录下({
CATALINA_HOME}
为Tomcat安装路径,可通过echo $CATALINA_HOME
命令查看)。常见日志文件包括catalina.out
(主日志)、localhost_access_log.*.txt
(访问日志)、manager.log
(Manager应用日志)等。
2. 手动清理旧日志(临时方案)
若需立即清理,可通过以下步骤操作:
- 停止Tomcat服务(避免文件占用导致删除失败):
sudo systemctl stop tomcat
- 进入日志目录:
cd $CATALINA_HOME/logs
- 删除指定天数前的日志(例如删除7天前的
.log
文件):find . -type f -name "*.log" -mtime +7 -exec rm -rf { } \;
- 清空
catalina.out
文件(该文件持续增长,需定期清空):> catalina.out
- 重启Tomcat服务:
sudo systemctl start tomcat
3. 使用Logrotate自动轮转与清理(推荐方案)
Logrotate是Linux系统自带的日志管理工具,可实现日志的自动切割、压缩、删除,避免手动操作。
- 配置Logrotate:
编辑或创建/etc/logrotate.d/tomcat
文件,添加以下内容(根据实际情况修改/path/to/tomcat/logs
为真实路径):/path/to/tomcat/logs/catalina.out { daily # 每天轮转一次 rotate 7 # 保留7份日志(即删除7天前的) compress # 压缩旧日志(节省空间) missingok # 若日志文件不存在,不报错 notifempty # 若日志为空,不轮转 copytruncate # 复制原日志后清空,无需重启Tomcat }
- 测试配置有效性:
运行以下命令模拟日志轮转(-d
表示干运行,不实际执行):
若无错误提示,说明配置正确。sudo logrotate -d /etc/logrotate.d/tomcat
- 强制立即轮转(可选):
sudo logrotate -f /etc/logrotate.d/tomcat
- 验证自动运行:
Logrotate默认通过系统cron任务(/etc/cron.daily/logrotate
)每日自动执行,无需额外配置。
4. 编写Shell脚本自动化清理(灵活方案)
若需更定制化的清理逻辑(如同时清理访问日志、Manager日志),可编写脚本并通过cron定时执行:
- 创建清理脚本(例如
/opt/tomcat/scripts/clean_tomcat_logs.sh
):#!/bin/bash LOG_PATH="$CATALINA_HOME/logs" # 删除7天前的所有.log文件(包括access log、manager log等) find "$LOG_PATH" -type f -name "*.log" -mtime +7 -exec rm -rf { } \; # 清空catalina.out > "$LOG_PATH/catalina.out" echo "$(date): Tomcat logs cleaned up." > > "$LOG_PATH/cleanup.log"
- 赋予脚本执行权限:
chmod +x /opt/tomcat/scripts/clean_tomcat_logs.sh
- 设置cron定时任务(例如每天凌晨1点执行):
添加以下内容:crontab -e
0 1 * * * /opt/tomcat/scripts/clean_tomcat_logs.sh
注意事项
- 备份重要日志:清理前若需保留关键日志,可将日志文件复制到其他存储路径(如
/backup
)。 - 调整保留天数:根据日志增长速度和存储空间,合理设置
rotate
参数(如rotate 30
保留30天)。 - 监控日志大小:若日志增长过快,可结合
du -sh $CATALINA_HOME/logs
命令定期检查日志目录大小,及时调整清理策略。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 怎样清理Ubuntu Tomcat旧日志
本文地址: https://pptw.com/jishu/725281.html