Linux 有很多不同種類的 Log 紀錄檔,很多時需要在 log 裡面找資料,但當 log 的體積越來越大時,要查看還真是很吃力。
這時可以用不同的 Linux 指令配合使用,將 log 紀錄檔最後的資料抽出,抽出資料的時間可以按需要更改。
例如 /var/log/message 預設紀錄檔的格式可以用以下指令:
|
1 |
awk -v d1="$(date --date="-60 min" "+%b %_d %H:%M")" -v d2="$(date "+%b %_d %H:%M")" '$0 > d1 && $0 < d2 || $0 ~ d2' /var/log/messages |
上面指令需要修改最後的檔案名稱,以及 “+%b %_d %H:%M” 這一組參數,需要配合 log 的日期時間格式。
另一個例子是 log 裡面不是用一般的日期時間格式,像 QMail 是用 tai64n 格式儲存時間,需要用 tai64nlocal 轉換成普通時間格式,可以用以下指令擷取 /var/log/qmail/smtpd/current 最後 5 分鐘的紀錄:
|
1 |
cat /var/log/qmail/smtpd/current | tai64nlocal | awk -v d1="$(date --date="-5 min" "+%Y-%m-%d %H:%M")" -v d2="$(date "+%b %_d %H:%M")" '$0 > d1 && $0 < d2 || $0 ~ d2' | /usr/bin/wc -l |