#!/bin/bash
# 切割,清理tomcat的日志;区分为两种,一种是代码里已经设置了catalina.out按天分割,一种是没有分割
# 59 23 * * * /bin/bash /data/new/scripts/logCut_tomcat.sh
# 设置保留多少天的日志
DAT=10
# 按天切割
DATE=`date +%Y-%m-%d`
# 按小时切割
#DATE=`date +"%Y-%m-%d-%H"`
BASEPATH=/data/service/tomcat
# 用来判断日志是否已经做了切割
LOGNAME=catalina.out.20
# 切割日志
for name in `ls -l ${BASEPATH} | grep ^d | awk '{print $NF}'`
do
num=$(find ${BASEPATH}/${name}/logs/ -type f -name "${LOGNAME}*" | wc -l)
if [[ ${num} -gt 0 ]];then
/bin/find ${BASEPATH}/${name}/logs -maxdepth 2 -type f -mtime +${DAT} | xargs rm -rf
else
/bin/cp -p ${BASEPATH}/${name}/logs/catalina.out ${BASEPATH}/${name}/logs/catalina.out.${DATE}
> ${BASEPATH}/${name}/logs/catalina.out
/bin/find ${BASEPATH}/${name}/logs -maxdepth 2 -type f -mtime +${DAT} | xargs rm -rf
fi
done
Tomcat日志切割
最新推荐文章于 2021-12-16 10:01:18 发布