Shell 解決Redis Slow Log去重問題

壹頁書發表於2018-11-02

老東家監測Redis的慢查詢日誌,採用Crontab 每隔一段時間對慢查詢日誌取樣,然後追加寫入一個文字檔案。


所以文字檔案中有很多重複的慢查詢日誌



如何對整段重複的慢查詢日誌去重呢?


採用Shell 命令的方式最簡單和直接。


 awk '/^1\)/{print s;s=""};{ s=(s" "$0)}; END{print s } ' b.txt  | sort | uniq | sed 's/        /\n        /g'  | awk '/^ 1\) \(integer\)/{rc =rc+1;rowdata=rc") \t" $1" "$2" "$3"\n\t"$4" "$5" "$6" "$7"\n\t"$8" "$9" "$10;print rowdata};/^  /{print "\t"$0} END{print "不重複日誌總數:" rc}'


核心就是把整段的redis日誌先合併為一行,去重之後,在還原格式。


下面是用於測試的附件


Shell 解決Redis Slow Log去重問題 redisSlowLog.txt



附王工對這個問題的需求描述和說明。


https://blog.csdn.net/wzy0623/article/details/83652539?tdsourcetag=s_pcqq_aiomsg



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29254281/viewspace-2218512/,如需轉載,請註明出處,否則將追究法律責任。

相關文章