温馨提示×

Ubuntu Tomcat日志清理技巧

小樊
49
2025-09-08 05:38:54
栏目: 智能运维

以下是Ubuntu Tomcat日志清理的常用技巧:

一、手动清理

  1. 定位日志路径
    日志默认存放在${CATALINA_HOME}/logs目录,可通过echo $CATALINA_HOME查看路径。
  2. 删除旧日志
    使用find命令删除指定天数前的日志,如删除7天前的.log文件:
    find /path/to/tomcat/logs -type f -name "*.log" -mtime +7 -exec rm -rf {} \; 
  3. 清空特定日志文件
    如清空catalina.out
    echo "" > /path/to/tomcat/logs/catalina.out 

二、使用logrotate工具(推荐)

  1. 安装与配置
    sudo apt-get install logrotate sudo vi /etc/logrotate.d/tomcat 
    添加以下内容(按需调整路径和保留天数):
    /path/to/tomcat/logs/*.log { daily rotate 7 compress missingok notifempty copytruncate } 
    • rotate 7:保留7天日志;compress:压缩旧日志;copytruncate:清空原文件而非删除。
  2. 测试与启用
    sudo logrotate -d /etc/logrotate.d/tomcat # 测试配置 sudo logrotate -f /etc/logrotate.d/tomcat # 强制执行 

三、脚本自动化清理

  1. 编写清理脚本
    创建clear_tomcat_logs.sh
    #!/bin/bash LOG_DIR="/path/to/tomcat/logs" find "$LOG_DIR" -type f -name "*.log" -mtime +7 -exec rm -rf {} \; echo "" > "$LOG_DIR/catalina.out" 
  2. 设置定时任务
    通过crontab -e添加每日凌晨执行:
    0 0 * * * /path/to/clear_tomcat_logs.sh 

四、优化日志配置(减少生成量)

  1. 调整日志级别
    修改conf/logging.properties,将级别设为WARNINGERROR
    org.apache.catalina.level = WARNING 
  2. 关闭不必要的日志
    conf/server.xml中注释掉不需要的AccessLogValve配置。

注意事项

  • 操作前建议备份重要日志。
  • 生产环境优先使用logrotate,避免手动删除导致日志丢失。
  • 确保脚本和定时任务使用绝对路径。

0