通用性日志压缩脚本

1、说明

通用性日志压缩脚本使用:需要传4个参数 第一个是处理那个目录下面的日志 例如:/app/logs 、第二个是处理什么样的日志格式(包含什么关键字) 例如:log 、第三个是处理几天之前的日志、第四个是处理压缩文件处理删除前几天的

[root@gtcq-gt-resource2-01 app]# more  /usr/local/shell_script/logs_compression.sh 
#!/bin/bash
#
#####################################
#@brief 功能:1、日志压缩 2、日志备份删除
#@author jing
#@version 1.0
#@date 2021/01/13
#@log no
#####################################
#shell Env
source /etc/profile
#cd /app/logs/app
echo $#
if [ $# -lt 3 ]
then
  echo "请输入3-4个参数:第一个是处理的目录;第二个是日志后缀名称;第三个是多少天之前的日志压缩;第四个是压缩日志保留多少多少天如果不传就不处理"
  exit 1
fi
#日志目录
echo  $1
logs_dir=$1
#日志后缀名称
echo $2 
type_log=$2
#日志保留时间
echo $3
mtime=$3
cd $logs_dir
logs_ar=( $(find $logs_dir   -name "*.${type_log}*" -a ! -name '*.gz'  -type f -mtime +${
     
     mtime}) )
for (( i = 0; i < ${#logs_ar[@]}; ++i ))
 do
         ls -l  ${logs_ar[i]}
         gzip ${logs_ar[i]} 
 done
tar_mtime=$(($4+0))
echo $tar_mtime
if [ $tar_mtime -eq 0 ]
then
  echo "没有输入第4个参数,脚本不处理.gz文件删除的工作"
  exit 1
fi 
find $logs_dir -name "*.${type_log}*.gz"  -type f -mtime +${tar_mtime}   -exec rm -rf {
    
    } \;
[root@gtcq-gt-resource2-01 app]# 

猜你喜欢

转载自blog.csdn.net/qq_31555951/article/details/114598052
今日推荐