用shell编写批量打包日志脚本
admin
2023-07-30 04:00:05
0

脚本1

#!/bin/bash
DATE=$(date +%Y%m%d%H%M)
NAME=$(echo $1 | awk -F',' '{print NF}')
LOG_PATH="$2"
if [ $# -ne 2 ];then
    echo "USAGE: sh $0 log_name1,log_name2 log_path"
    exit
fi
for NUM in `seq 1 $NAME`
do
    LOG_NAME=$(echo $1 | cut -d ',' -f $NUM)
    for i in {1..6}
    do
        ansible -m synchronize -a "mode=pull src=${LOG_PATH}${LOG_NAME} dest=/mnt/dx${i}${LOG_NAME}" dx${i}sock2
    done
    for i in 1 2 3 4
    do
        ansible -m synchronize -a "mode=pull src=${LOG_PATH}${LOG_NAME} dest=/mnt/lt${i}${LOG_NAME}" lt${i}sock2
    done
    for i in 179 yy 360 9377
    do
        ansible -m synchronize -a "mode=pull src=${LOG_PATH}${LOG_NAME} dest=/mnt/${i}${LOG_NAME}" ${i}sock2
    done
    tar zcvf $DATE-${LOG_NAME}.tar.gz *${LOG_NAME} && rm -rf /mnt/*${LOG_NAME}
done
NUMBER=$(ls *.tar.gz |  wc -l)
if [ $NUMBER -gt 1 ];then
    TAR_NAME=$(echo ${LOG_NAME} | awk -F'.' '{print $1}')
    tar zcvf ${DATE}-all-${TAR_NAME}.tar.gz *.tar.gz
    rm -rf /mnt/${DATE}-${TAR_NAME}*.tar.gz
fi


脚本2

#!/bin/bash
DATE=$(date +%Y%m%d%H%M)
#NAME=$(echo $1 | awk -F',' '{print NF}')
SHU="$1"
NAME="$2"
LOG_PATH="$3"
if [ $# -ne 3 ];then
    echo "USAGE: sh $0 number log_name log_path"
    exit
fi
for NUM in `seq 1 $SHU`
do
    for i in {1..6}
    do
        LOG_NAME=$(ansible -m shell -a "cd ${LOG_PATH};ls -l -t ${NAME}.* | awk '{print $9}' | head -${NUM} | tail -1" dx${i}sock2 | tail -1 | awk '{print $9}')
        ansible -m synchronize -a "mode=pull src=${LOG_PATH}${LOG_NAME} dest=/mnt/dx${i}${LOG_NAME}" dx${i}sock2
    done
    for i in 1 2 3 4
    do
        LOG_NAME=$(ansible -m shell -a "cd ${LOG_PATH};ls -l -t ${NAME}.* | awk '{print $9}' | head -${NUM} | tail -1" lt${i}sock2 | tail -1 | awk '{print $9}')
        ansible -m synchronize -a "mode=pull src=${LOG_PATH}${LOG_NAME} dest=/mnt/lt${i}${LOG_NAME}" lt${i}sock2
    done
    for i in 179 yy 360 9377
    do
        ansible -m synchronize -a "mode=pull src=${LOG_PATH}${LOG_NAME} dest=/mnt/${i}${LOG_NAME}" ${i}sock2
    done
done
tar zcvf $DATE-${NAME}-$NUM.tar.gz *${NAME}*  && rm -rf /mnt/{*.log,*.log.*}


相关内容

热门资讯

美的p7是什么故障代码 美的 P7 故障代码通常表示空调室外机排气温度过高保护。这可能是由于以下原因导致的:1. 室外机散热...
美的空调p7是什么故障 美的空调显示“P7”可能表示室外排气温度过高保护。当空调出现 P7 故障代码时,可能有以下原因:1....
空调出现P7什么意思 其主要原因有,1、室外排气高温保护。2、室外排气温度过高。3、机型选择错误。4、制冷剂量不足,制冷剂...
美的空调显示p7是什么意思 美的空调显示“P7”通常表示室外机排气温度过高保护。导致美的空调显示“P7”的原因可能有以下几种:1...
格力ee故障是什么原因 格力空调显示“ee”表示存储芯片故障或室内 PCB 板故障。造成该故障的原因可能有以下几种:1. 存...
凤凰晚报丨高市早苗亮相颁奖礼,... 今日人物【高市早苗亮相颁奖礼,接受高价“赠品”引发争议】当地时间7月4日,日本首相高市早苗出席了在东...
美国在热浪与批评声中庆祝独立2... 新华社华盛顿7月4日电(记者施春 颜亮)7月4日是美国“独立日”。受极端高温影响,全美多地多项庆祝活...
藏马熊凌晨推开酒店2楼反锁的房... 近日,一段“藏马熊闯入那曲比如县一酒店”的监控视频在网络上引发关注。红星新闻记者了解到,事发于7月4...
奖励“李要得”50万元,暖意值... 据“西藏发布”微信公众号7月5日消息,西藏自治区文旅厅、财政厅发布公告,自媒体创作者“李要得”创作发...
河南高温胖东来为室外员工配“空... 近日,河南发布橙色高温预警。许昌市气象台2026年7月5日8时50分发布 高温橙色预警信号:预计5—...