在排除故障时,需要分析发生故障的原因,避免再次出现同样的问题,需要对日志进行分析,截取故障前后时间段的日志。通常用正则表达式来获取某段时间的内的日志,比较繁琐。可以通过awk方便简捷的实现。
我这里以截取nginx访问日志为例:文章源自运维生存时间-https://www.ttlsa.com/linux/how-to-quickly-intercept-logs-over-time/
查看21/Jul/2014:14:37:50到21/Jul/2014:14:38:00时间段内bbs.ttlsa.com的访问日志。文章源自运维生存时间-https://www.ttlsa.com/linux/how-to-quickly-intercept-logs-over-time/
# cat bbs.ttlsa.com.access.log | awk '$4 >="[21/Jul/2014:14:37:50" && $4 <="[21/Jul/2014:14:38:00"'
文章源自运维生存时间-https://www.ttlsa.com/linux/how-to-quickly-intercept-logs-over-time/
文章源自运维生存时间-https://www.ttlsa.com/linux/how-to-quickly-intercept-logs-over-time/

我的微信
微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~
3F
如果头尾的时间是模糊的,比如只想知道下午1点到3点之间的命令应该如何修改?
2F
这个比sed截得更全。
1F
请问下用变量如何处理,awk -v a=$ptime -v b=$ntime ‘{$4 >="[a" && $4 <="[b"}’ access.log,这样有问题,打印不出来
来自外部的引用