linux

如何定期清理Tomcat日志文件

小樊
33
2025-08-10 07:45:08
栏目: 智能运维

定期清理Tomcat日志文件可通过以下方式实现:

  1. 使用logrotate工具(推荐)

    • 安装logrotate:sudo apt-get install logrotate(Debian/Ubuntu)或sudo yum install logrotate(CentOS)。
    • 创建配置文件/etc/logrotate.d/tomcat,添加以下内容(以每天轮转、保留7天为例):
      /usr/local/tomcat/logs/catalina.out {
          daily
          rotate 7
          compress
          missingok
          notifempty
          copytruncate
      }
      ```。  
      
    • 测试配置:sudo logrotate -d /etc/logrotate.d/tomcat,确认无误后自动生效。
  2. 通过cron定时任务+脚本

    • 编写清理脚本(如clear_tomcat_logs.sh):
      #!/bin/bash
      LOG_DIR="/usr/local/tomcat/logs"
      find "$LOG_DIR" -type f -name "*.log" -mtime +30 -exec rm -rf {} \;
      find "$LOG_DIR" -type f -name "catalina.*.out" -mtime +30 -exec rm -rf {} \;
      echo "" > "$LOG_DIR/catalina.out"  # 清空catalina.out
      ```。  
      
    • 赋予脚本执行权限:chmod +x clear_tomcat_logs.sh
    • 设置cron定时任务(如每天凌晨执行):
      sudo crontab -e,添加0 0 * * * /path/to/clear_tomcat_logs.sh
  3. 配置Tomcat日志滚动(可选)

    • 编辑conf/logging.properties,设置maxDays参数控制日志保留天数(需重启Tomcat)。
    • 示例配置:
      1catalina.org.apache.juli.AsyncFileHandler.maxDays=30
      ```。  
      
      

注意:清理前建议备份重要日志,避免误删影响问题排查。优先使用logrotate或脚本+定时任务的方式,避免直接修改Tomcat配置文件导致异常。

0
看了该问题的人还看了