自动保存错误日志的shell脚本

自动化用例设置在凌晨3点跑的,很多日志被冲掉,没有办法定位问题,写了个脚本用于保存。

debug目录大概17秒左右就会产生一个日志文件,debug目录最多保存50个debug文件。

大概的思路,先把当前的目录的文件名保存到origin.txt里,每隔10秒判断最新产生的文件在不在origin.txt里

如果不在,则是新产生的文件。去搜索新产生的文件里的ERROR的行号,把行号放到temp.txt文件里,

在用循环去打印行号的内容,取这个行号下面30行内的内容打印到now.txt里

#! /bin/bash

for  (( i=0;i<=1000000;i++  ))

do

sleep  10

a=`ls -a | grep "iiiii_order4004_SO_debug_2*" | tail  -n +50`

grep $a origin.txt

let b=$?

if [ $b == 1  ]

then

grep -n "ERROR" $a | awk  -F ":"   '{print $1}'  >> temp.txt

num=`wc -l temp.txt |awk '{print $1}'`

echo $num

for (( n=1;n<=$num;n++  ))

do

hang=`sed  -n  "$n"p temp.txt`

cat $a | til -n +$hang |head -n 30 >> now.txt

done

echo $a >> origin.txt

rm temp.txt

fi

done

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值