擷取一段時間內的log日誌可以使用sed命令對log檔案進行抽取操作:
1,sed檢視某時間段到現在的系統日誌:
sed -n "/May 20 17/,$p" /var/log/messages | less
2,sed 截選時間段日誌:
假如日誌的格式是--
“2015-05-04 09:25:55,606 後面跟日誌內容 ”這樣的
目標是需要將05-04的09:25:55 和09:28:08 之間的日誌截取出來:
使用sed命令如下:
sed -n ‘/2015-05-04 09:25:55/,/2015-05-04 09:28:55/p’ logfile
這樣可以精確地截取出來某個時間段的日誌。
如果需要擷取的日誌太大,達到幾個G的話,不能去vi開啟檔案:
根據之前的日誌格式,使用正則表示式:
sed -n ‘/2010-11-17 09:[0-9][0-9]:[0-9][0-9]/,/2010-11-17 16:[0-9][0-9]:[0-9][0-9]/p’ logfile
如果沒有問題的話,上面就能篩選出指定的時間段的日誌。
擷取一段時間內的log日誌可以使用sed命令對log檔案進行抽取操作:
1,sed檢視某時間段到現在的系統日誌:
sed -n "/May 20 17/,$p" /var/log/messages | less
2,sed 截選時間段日誌:
假如日誌的格式是--
“2015-05-04 09:25:55,606 後面跟日誌內容 ”這樣的
目標是需要將05-04的09:25:55 和09:28:08 之間的日誌截取出來:
使用sed命令如下:
sed -n ‘/2015-05-04 09:25:55/,/2015-05-04 09:28:55/p’ logfile
這樣可以精確地截取出來某個時間段的日誌。
如果需要擷取的日誌太大,達到幾個G的話,不能去vi開啟檔案:
根據之前的日誌格式,使用正則表示式:
sed -n ‘/2010-11-17 09:[0-9][0-9]:[0-9][0-9]/,/2010-11-17 16:[0-9][0-9]:[0-9][0-9]/p’ logfile
如果沒有問題的話,上面就能篩選出指定的時間段的日誌。