Tomcat日志分割,按照100M一个分割catalina.out

#!/bin/sh
#Name:tomcat日志分割 按照100M一个
#Author:sundonglin
#Version:2.0
DATE=date "+%Y%m%d"
HOUR=date +%H

DIR="/home/tomcat/tomcat-7.0.64/logs/catalina/catalina_"
delete_path="/home/tomcat/tomcat-7.0.64/logs"

cd /home/tomcat/tomcat-7.0.64/logs

echo H O U R = ′ 2 3 ′ − a ! − d " HOUR='23' -a ! -d " HOUR=23a!d"DIR$DATE"

-a 逻辑与

! -d “ D I R DIR DIRDATE” 不存在这个目录为true

# H O U R = ′ 2 3 ′ 23 是 时 间 晚 上 23 点 与 定 时 任 务 保 持 一 致 i f [ HOUR = '23' 23是时间 晚上23点 与定时任务保持一致 if [ HOUR=232323if[HOUR=‘23’ -a ! -d “ D I R DIR DIRDATE”]; then
echo “backup catalina.out …”
#创建存放目录
mkdir -p D I R DIR DIRDATE
#分割100m的单个文件 catalina_00
#-d:指定输出文件名的后缀用数字代替
#-a:指定输出文件名的后缀长度,默认为2个
split -b 100m catalina.out -d -a 2 catalina_
#修改文件名为catalina_00.logs
ls|grep catalina_|xargs -n1 -i{} mv {} {}.log
#移动文件到指定的目录
find .-name “catalina_*.log” | xargs -i{} mv {} -t D I R DIR DIRDATE

echo “truncate catalina.out…”
#清空tomcat/logs下的catalina.out文件
echo “” > catalina.out
fi

#delete

echo “delete log file”
find .-name “localhost..log" | xargs rm -rf
find .-name "manager.
.log” | xargs rm -rf
find .-name “localhost_access_log..txt" | xargs rm -rf
find .-name "catalina.
.log” | xargs rm -rf
find .-name “host-manager.*.log” | xargs rm -rf

#delete catalina目录下15天前的catalina_目录下的日志
cd $delete_path/catalina
find .-name "catalina_
" -type d -mtime +15 | xargs rm -rf

#定时执行 与判断时间一致
#0 23 * * * sh /home/tomcat/shell/catalina_clean_logs.sh

你可能感兴趣的:(Tomcat的那些事)