LINUX使用shell定时压缩tomcat日志文件

LINUX使用shell定时压缩tomcat日志文件

Linux服务器上每天会产生大量的日志文件,占用大量的磁盘空间;因此就有了压缩日志文件的需要
,使用shell脚本来完成定时压缩日志文件。

shell脚本

日志目录
/var/log/tomcat/
需要对该目录下的多个日志文件(文件名格式:xxxx.log.yyyy-mm-dd)进行压缩
处理的思路:
1. 每个月的一种日志,以月份为单位压缩在同一个文件中,格式如:xxxx.log.2018-04.zip;
2. 每天将前一天日志追加到当月的压缩文件中,如果当月压缩日志文件不存在,则创建;
3. 加入系统计划任务,定时执行;
实现:

#!/bin/bash
#日期:年月
zipDate=`date -d yesterday +%Y-%m`
#日期:日
zipFileDay=`date -d yesterday +%d`
#日志目录
basePath=/var/log/tomcat8/

cd "$basePath"
#文件前缀
logkey='aa.log'
#循环每种类型的日志
for logkey in  aa.log bb.log cc.log dd.log
do
  echo $logkey
  #是否存在月压缩文件包,不存在就创建一个,并把当前匹配日期的文件压缩;
if [ ! -f "${logkey}.${zipDate}.zip" ];
then
  echo "${logkey}.${zipDate}.zip does not exist.";
  zip ${logkey}.${zipDate}.zip ${logkey}.${zipDate}-*;
  rm  ${logkey}.${zipDate}-*;
else
   #存在,判断前一天的日志是否存在,存在就将该日志追加到月压缩包中
   echo "${logkey}.${zipDate}.zip is exist.";
   if [ -f "${logkey}.${zipDate}-${zipFileDay}" ]; then
     echo "${logkey}.${zipDate}-${zipFileDay} is exist.";
     zip -m ${logkey}.${zipDate}.zip ${logkey}.${zipDate}-${zipFileDay};
  #   rm ${logkey}.${zipDate}-${zipFileDay};
   fi
fi
done

文件名backup.sh,完整路径 /var/www/shell/backup.sh

加入到crontab定时器

打开文件

root@iZ253dgk9xaZ:/# crontab -e

加入执行任务 (凌晨12点30分执行)

30 0 * * * /var/www/shell/backup.sh

保存并退出,查看内容

root@iZ253dgk9xaZ:/# crontab -e

OK,结束

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值