#!/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_"
zipr=“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=′23′−a!−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=′23′23是时间晚上23点与定时任务保持一致if[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
echo “zip start”
zip -r
z
i
p
r
zipr
ziprDATE.zip
z
i
p
r
zipr
ziprDATE
echo “zip end”
echo “delete logsdata file”
rm -rf
z
i
p
r
zipr
ziprDATE
#定时执行 与判断时间一致
#0 10 * * * sh /home/tomcat/shell/catalina_clean_logs.sh