Tomcta日志切割,每日凌晨进行日志切割,并保留七天的日志
脚本所在tomcat/bin目录下
#!/bin/bash
# 切换到脚本所在的目录
cd "$(dirname "$0")" || exit 1
# 获取当前日期和7天前的日期
today_date=$(date +%Y-%m-%d)
seven_days_ago_date=$(date -d '7 day ago' +%Y-%m-%d)
# 切换到日志目录
cd "../logs/" || exit 1
# 如果 catalina.out 存在,则备份并清空
if [ -f "catalina.out" ]; then
cp "catalina.out" "catalina.out.${today_date}"
> "catalina.out" # 使用重定向操作符 > 来清空文件,这是更简洁的方式
# 如果7天前的备份文件存在,则删除它
if [ -f "catalina.out.${seven_days_ago_date}" ]; then
rm -f "catalina.out.${seven_days_ago_date}"
fi
fi
#除日志文件之外的
rm -f "host-manager.${seven_days_ago_date}.log"
rm -f "localhost.${seven_days_ago_date}.log"
rm -f "localhost_access_log.${seven_days_ago_date}.txt"
rm -f "manager.${seven_days_ago_date}.log"
rm -f "catalina.${seven_days_ago_date}.log"
执行定时任务
#每日凌晨进行切割
crontab -e
00 00 * * * sh /root/apache-tomcat-9.0.98/bin/logs/cut_log.sh > /dev/null 2>&1