系统出现问题,须要快速定位日志文件错误信息,记录一些小技巧,方便运维。本文持续更新。bash
例如查找问题行号是100,查看90-110行的日志运维
1. cat -n 文件 | grep "关键字" 查出关键字所在行号spa
2. cat -n 文件 | tail -n +90 | head -n 20 日志
tail -n +90:从90行开始的全部行code
head -n 20:前20行,也就是从90行到109行ip
sed '/开始时间/, /结束时间/p' 文件class
不管用什么方法,会出现查找出不少日志,使用more分页显示,例如 :sed
sed '/开始时间, /结束时间/p' 文件 | morefile
或者写入文件中,方便查看,例如:搜索
cat -n 文件 | tail -n +90 | head -n 20 > ***.txt
方法二在产线上使用搜索时间很长,能够用一种更普通的方法代替。
grep -n '20:45:23' ***.log 找到行号,再使用方法一。
因为日志文件积累过多,须要压缩,而在产线上每每不能解压缩,由于权限问题,并且解压缩比较麻烦,zgrep提供了在不解压的状况下,查看压缩日志,先记录命令:
zgrep --binary-files=text '关键字' 压缩文件
若是zip压缩包不少的话,,用以下方法,找出包含关键字的压缩包:
zgrep --binary-files=text '关键字' *.zip
zip和tar压缩文件都是可行的。