ubuntu

Ubuntu Tomcat日志清理技巧

小樊
51
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配置。

注意事项

0
看了该问题的人还看了