Chinaunix首页 | 论坛 | 博客
  • 博客访问: 403775
  • 博文数量: 105
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 889
  • 用 户 组: 普通用户
  • 注册时间: 2016-01-23 21:45
个人简介

目前在一家电信公司就职报表开发工程师,2010年开始从事运维方面的工作,期间从事过业务维护工程师、自动化运维工程师,2016年转为报表开发工程师。有耐心,抗压力、爱折腾,喜欢研究自动化工具。

文章分类

全部博文(105)

分类: 系统运维

2017-06-14 11:59:32

需求:JOB日志7天内保留,最近三个月内7天之外的压缩,超三个月的删除
目录:/app/---/log/biz
文件:jobid_yyyymmdd_序号.log
文件多少不确定
实现脚本如下:
说明:使用ls、awk、uniq命令分析出需求目录下有那些文件,在把这些文件放到数组中,然后进行循环处理。
#!/bin/sh
#author xj
#date 20170611
echo "###BEGIN###"
echo "begin time `date +%Y-%m-%d\ %H\:%M\:%S`"
cd /app/---/log/biz
zip_date=`date +"%Y%m%d" -d "-7 days"`
zip_date1=`date "+%Y%m%d" -d "-90 days"`
ar=( $(ls -l *${zip_date}*|awk  '{print $9}'|awk -F "_" '{print $1}'|uniq -c|awk '{print $2}') )
for (( i = 0; i < ${#ar[@]}; ++i ))
 do
        tar -czvf ${ar[i]}_${zip_date}.log.tar.gz  ${ar[i]}_${zip_date}_* --remove-files
        rm  -rf   ${ar[i]}_${zip_date1}.log.tar.gz
 done
阅读(1648) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~