自動儲存錯誤日誌的shell指令碼

2021-08-21 17:07:03 字數 812 閱讀 6903

自動化用例設定在凌晨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++  ))

dosleep  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 ":"   ''  >> temp.txt

num=`wc -l temp.txt |awk ''`

echo $num

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

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

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

done

echo $a >> origin.txt

rm temp.txt

fidone

shell實現nginx日誌自動切割

目前nginx已經成為軟負載裡最受歡迎的工具了,具有輕量級 低消耗 易擴充套件等優勢。目前我們生產上也在使用nginx,但是nginx預設的日誌沒有按天切割,都是存放在一塊的,不方便查閱,所以想寫個shell指令碼來是先nginx日誌的按天分割。1 環境說明 linux系統 nginx 版本 ngi...

shell指令碼 自動備份應用日誌

root deploy scripts cat logs bak v2.sh usr bin env bash description 查詢兩天前修改的應用日誌,打包備份之後後刪除 date 2019 06 15 載入系統函式 etc init.d functions 載入環境變數 export p...

Shell程式檔案上傳以及自動備份部署指令碼

dmz機器程式檔案上傳到伺服器指定目錄指令碼 bin bash author pine chown 任務分發指令碼 2017 08 25 instance1 gcharging1 inside deploy file gcharging.zip time date f timestamp date ...