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 |