栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

微服务日志备份和汇聚脚本

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

微服务日志备份和汇聚脚本

1.日志备份脚本

#!/bin/bash
# 日志归档处理

#group_code=`awk -F":" '{if($1 == "app"){print $3 }}' /etc/group`
#USER_LIST=`awk -F":" '{if($4 == '${group_code}'){print $1 }}' /etc/passwd`
USER_LIST=("user" "commons" "advertise" "company" "cronjobcloud" "eurekasv" "filemanage" "manage" "messageserve"  "order" "pay" "product" "recruit" "gateway" "infomanage" "marketing")

# 当前日期
nowStr=`date +%Y-%m-%d`
#近7天的日期数组
dayStrs=(`date +%Y-%m-%d` `date -d -1days '+%Y-%m-%d'` `date -d -2days '+%Y-%m-%d'` `date -d -3days '+%Y-%m-%d'` `date -d -4days '+%Y-%m-%d'` `date -d -5days '+%Y-%m-%d'` `date -d -6days '+%Y-%m-%d'`)

#获取本机IP
local_ip=`/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"`
local_ip=`echo "${local_ip}" | tr "n" "_"`
local_ip=${local_ip%_*}
echo ${local_ip}

function del_old_log()
{
        Folder_A="/home/$1/app/log"


        for file_a in ${Folder_A}}
                isContent="true"
                if [[ $temp_file == *logback* ]];then
                        isContent=""
                fi
                for dayS in ${dayStrs[@]}
                  do
                           if [[ $temp_file == *$dayS* ]];then
                                         isContent="true"
                           fi
                  done
                if [ "$isContent" == "" ]
                  then
                      tar_file_name=$tar_file_name" "$temp_file
                  fi
        done

        echo $tar_file_name
}

for x in ${USER_LIST[@]}
  do
      cd /home/${x}/app/log/
      # 删除之前归档的压缩包
	  rm -rf ${x}_${local_ip}*.tar.gz
	  # 找到要归档的文件名
	  file_name=$(tar_file $x)
	  #压缩归档
	  if [ "$file_name" == "" ]; then
	      echo "没有需要归档的日志"
	  else
	      tar -zcf ${x}_${local_ip}_${nowStr}.tar.gz $file_name
	  fi
	  #删除归档后的文件
      del_old_log $x
  done

2.汇聚脚本(将不同节点上的日志汇聚到一块)

group_code=`awk -F":" '{if($1 == "app"){print $3 }}' /etc/group`
USER_LIST=`awk -F":" '{if($4 == '${group_code}'){print $1 }}' /etc/passwd`
nowStr=`date +%Y-%m-%d`
USER=root
PASSWORD=******
service_ip=("172.18.55.**","172.18.46.**","172.18.46.**")

#先删除原来的
cd /home/logbackups/
rm -rf *.tar.gz

for ip in ${service_ip[@]}
  do
      for x in ${USER_LIST}
        do
lftp -u ${USER},${PASSWORD} sftp://${ip} << EOM
cd /home/$x/app/log/
lcd /home/logbackups/
mget *.tar.gz
bye
EOM
        done
   done

for x in ${USER_LIST}
  do
lftp -u root,ymHc0601Ecs sftp://172.18.22.137 << EOM
cd /home/$x/app/log/
lcd /home/logbackups/
mget *.tar.gz
bye
EOM
  done
  

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/618323.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号