Tomcat8日志切割和定期删除

# 日志切割

# 安装 cronolog

  • 安装
1
2
3
4
5
6
7
# 下载cronolog-1.6.2.tar.gz 并解压
wget http://cronolog.org/download/cronolog-1.6.2.tar.gz 
# 解压
tar zxvf cronolog-1.6.2.tar.gz
# 编译安装
cd cronolog-1.6.2
./configure && make && make install
  • 验证安装

    1
    2
    3
    4
    
    # 验证是否安装成功
    which cronolog
    # 显示以下信息则成功
    # /usr/local/sbin/cronolog
    

# 修改 Tomcat 8 配置

  • 替换 tomcat 目录下 /bin/Catalina.sh 文件内容
1
2
3
4
5
        if [ -z "$CATALINA_OUT" ] ; then

          CATALINA_OUT=日志路径/catalina.out

        fi 

1
2
3
4
5
        if [ -z "$CATALINA_OUT" ] ; then

            CATALINA_OUT=日志路径/catalina.%Y-%m-%d.out

        fi
  • 注释掉 touch "$CATALINA_OUT"
1
 #touch "$CATALINA_OUT"
  • 替换(共有两处修改)
1
2
  org.apache.catalina.startup.Bootstrap "$@" start \
     >> "$CATALINA_OUT"   2>&1 &

1
2
  org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \
   | /usr/local/sbin/cronolog "$CATALINA_OUT" >> /dev/null &

重启 tomcat 即可。

# 定时删除

  • 新建 xxx.sh 文件,添加内容如下:
1
2
3
4
#!/bin/sh
find /usr/local/apache-tomcat-8.5.15/logs/ -mtime +1 -name "*.out" -exec rm -rf {} \;
find /usr/local/apache-tomcat-8.5.15/logs/ -mtime +1 -name "*.log" -exec rm -rf {} \; 
find /usr/local/apache-tomcat-8.5.15/logs/ -mtime +1 -name "*.txt" -exec rm -rf {} \;
  • 执行 crontab -e 命令打开定时任务配置文件,在里面录入
1
10 0 * * *  sh 目录/xxx.sh > /dev/null 2>&1   
  • 定时任务cron命令示例:
1
2
3
4
* * * * *                  # 每隔一分钟执行一次任务  
0 * * * *                  # 每小时的0点执行一次任务,比如6:00,10:00  
6,10 * 2 * *            # 每个月2号,每小时的6分和10分执行一次任务  
*/3,*/5 * * * *          # 每隔3分钟或5分钟执行一次任务,比如10:03,10:05,10:06  
Licensed under CC BY-NC-SA 4.0
使用 Hugo 构建
主题 StackJimmy 设计