2021-10-22 日志自动备份与清除之tomcat

将tomcat的日志进行打包且异地备份

vim /tmp/shell/tomcat_log.sh
// An highlighted block
#!/bin/bash

echo `date '+%Y%Y-%m-%d %H:%M:%S'`" 打包日志执行开始!";

echo "默认打包所有的日志文件"
sevenDaysAgoDate=`date -d "7 days ago" +%Y%Y-%m-%d`

#筛选打包日志文件的截止日期(此处为获取当前日期)
#起始日期时间戳(作为日期范围对比使用)
sevenTimeStamp=`date -d "$sevenDaysAgoDate" +%s`

#截至日期时间戳
currentTimeStamp=`date -d "$currentDate" +%s`

index=0

#日志读取路径
filePath="/usr/local/tomcat/logs"

#备份目录路径
backupPath="/tmp/backup/tomcat_logs"

#获取该路径下所有日志文件
fileList=`ls $filePath -1 -c`

#遍历所有日志文件
for fileName in $fileList

do
    #将日志文件名及后缀与正则表达式做对比返回yyyy-mm-dd格式的日期值(2018-09-10)
    fileDate=$(expr "$fileName" : '.*[0−9]{4}\-[0−9]{2}\-[0−9]{2}[0−9]{4}\-[0−9]{2}\-[0−9]{2}.*.*')
    #将日期转换为时间戳
    fileDateTimeStamp=`date -d "$fileDate" +%s`

    #当时间戳值不为空且大于等于起始日期小于当前日期,那么获取该日志文件
    #then
    #    fileList[$index]="$filePath/$fileName"
    #else
    #    fileList[$index]=""
    #fi
    fileList[$index]="$filePath/$fileName"
    (( index ++ ))

done

#获取所有在日期范围内的日志文件, @代表所有
meetConFiles=${fileList[@]}
#符合条件的日志文件数大于0就打包压缩
if [ "${#meetConFiles}" -gt 0 ]
then
    tar -zcvf ${currentDate}_tomcat.tar.gz $meetConFiles
    mv ${currentDate}_tomcat.tar.gz $backupPath
#请提前做好到192.168.137.2的免密,实现异地备份
rsync $backupPath/${currentDate}_tomcat.tar.gz root@192.168.137.2:$backupPath
else
    echo "Not found the meet condition's files!"
    exit 0
fi

echo "$currentDate.tar.gz create completion, Now begin to delete old files."

#删除已被打包压缩的日志文件
rm -rf $meetConFiles
#确定你的tomcat的jdk环境变量已经添加到/etc/profile
#因为www是我tomcat的启动用户
su www <<EOF
source  /etc/profile
/usr/local/bin/shutdown.sh
sleep 3&
wait
/usr/local/tomcat/bin/startup.sh
EOF

echo "done."
exit 0

将脚本写入周期性计划任务里

[root@localhost ~]# crontab -e
30 1 * * 1  /tmp/shell/tomcat_log.sh
[root@localhost ~]# service crond reload
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值