定时任务完美清理tomcat日志

一、在tomcat的bin路径下新建.sh脚本文件clean.sh,内容如下:
增加 catalina.out 按日生成 过期清理
1.复制catalina.out 按日期命名
2.清空catalina.out
3.找到30天以前的各种log文件并删除
注:30可按自己的需求改成其他天数

#!/bin/bash
logs_path="/hans/hansplat/tomcat7-82/logs"
d=`date +%Y-%m-%d`

cp $logs_path/catalina.out $logs_path/catalina.${d}.out
>$logs_path/catalina.out;
find $logs_path -mtime +30 -name "catalina.*.out" -exec rm -rf {} \;
find $logs_path -mtime +30 -name "localhost.*.log" -exec rm -rf {} \;
find $logs_path -mtime +30 -name "localhost_access_log.*.txt" -exec rm -rf {} \;
find $logs_path -mtime +30 -name "catalina.*.log" -exec rm -rf {} \;
find $logs_path -mtime +30 -name "manager.*.log" -exec rm -rf {} \;
find $logs_path -mtime +30 -name "host-manager.*.log" -exec rm -rf {} \;
find $logs_path -mtime +30 -name "fileservice.log.*" -exec rm -rf {} \;
列表内容
其中,logs_path要根据自身log路径配置。

二、为clean.sh文件添加权限
chmod 777 /hans/hansplat/tomcat7-82/bin/clean.sh
三、开启定时执行clean.sh脚本进行清理任务

crontab -e进入定时任务的编辑界面中

添加这行(每月1号凌晨2点执行):
0 2 1 * * sh /hans/hansplat/tomcat7-82/bin/clean.sh

你可能感兴趣的:(tomcat)