shell指令碼,查詢某一時間段的所有log,篩選出所有刪除成功的記錄,提取記錄中的id,判斷id是否刪除成功,並重新執行刪除操作。
#!/bin/sh
file_base_front="indexing-2015-08-2";
file_base_mid="_";
file_base_end=".0.log";
out="./outlog/out;
# 也可以直接通過(for ofile in ./*
)遍歷當前目錄下所有檔案,減少定義的變數,可讀性更好。
for ((file_front=5;file_front<=6;file_front++))
do#082500-082519
for ((file_mid=0;file_mid<=1;file_mid++))
dofor ((file_end=0;file_end<=9;file_end++))
do # 用變數組成所有待查詢的檔名,通過grep,篩選出所有「delete」的「wall*****」記錄
cat $$file_front$$file_mid$file_end$ | grep wall***** | grep delete_vertex > $$file_front$$file_mid$file_end
done
done
# 082520-082523
file_mid=2;
for ((file_end=0;file_end<=3;file_end++))
do cat $$file_front$$file_mid$file_end$ | grep wall***** | grep delete_vertex > $$file_front$$file_mid$file_end
done
done
# 篩選後的記錄存放在./outlog/目錄下,首先刪除所有空檔案
for ofile in ./outlog/*
do [ ! -s $ofile ] && rm -f $ofile
done
outfile=".suc"
# 在這些記錄中,選擇刪除成功的記錄,重定位到新檔案中
for ofile in ./outlog/*
do cat $ofile | grep "資料成功" > $ofile$outfile
done
resdir="./resdir/";
findir="_find";
deletedir="_delete";
#使用字串擷取,提取記錄中的entryid
for ofile in ./outlog/*.suc
do cat $ofile | while read myline
dostr=$
res=$
#對每個id執行一遍查詢和delete操作,並儲存呼叫curl的結果,重定位到檔案中
python寫入日誌檔案時日誌內容重複寫入
python寫入日誌檔案時日誌內容重複寫入 原因handler未移除,導致重複寫入 問了度娘之後,大概搞明白了,就是你第二次呼叫log的時候,根據getlogger name 裡的name獲取同乙個logger,而這個logger裡已經有了第一次你新增的handler,第二次呼叫又新增了乙個hand...
Python 將print內容重定向到日誌檔案
我的方法 開啟乙個檔案,然後把螢幕輸出流重定向到檔案輸出流 import sys,time log file open time.strftime y m d h m s format time.localtime time.time log w sys.stdout log file print ...
nginx訪問日誌分析,篩選時間大於1秒的請求
usr bin env python 處理訪問日誌,篩選時間大於1秒的請求 with open test.log a encoding utf 8 as f a with open wkxz api.access.log as f for line in f.readlines if line 2 ...