现网日志问题定位--日志的查询、过滤、筛选

现网日志问题定位--日志的查询、过滤、筛选

1、监控server.log日志件,并查看含有'foo'关键字的前后5行:

$ tail -f server.log|grep 'listMyMeetings' -C 5
// 或
$ tail -f server.log|grep 'listMyMeetings' -5

2、通过-f参数,我们可以实时查看文件的新增内容

tail -f server.log

3、筛选关键字打印的日志

tail -fn 1000 server.log | grep 'listMyMeetings'

cat -n server.log |grep "listMyMeetings"

4、基础命令

tail  -n  10  server.log   查询日志尾部最后10行的日志;

tail -n +10 server.log    查询10行之后的所有日志;

head -n 10  server.log   查询日志文件中的头10行日志;

head -n -10  server.log   查询日志文件除了最后10行的其他所有日志;

5、如果我们查找的日志很多,打印在屏幕上不方便查看, 有两个方法:

(1)使用more和less命令, 如: cat -n test.log |grep "关键字" |more     这样就分页打印了,通过点击空格键翻页

a.More命令

more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。
more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,
而且还有搜寻字串的功能 。more命令从前向后读取文件,因此在启动时就加载整个文件。

b.Less

less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。
less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less 时,
就可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!
除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。


6、使用 >xxx.txt 将其保存到文件中,到时可以拉下这个文件分析.如:

cat -n core-server|grep "listPatrolAbnormalReport"  >111.txt

7、按日期怎么查呢?  通常我们非常需要查找指定时间端的日志

sed -n '/2020-09-01 12:10:21/,/2020-09-01 14:18:44/p'  server.log

上面的两个日期必须是日志中打印出来的日志,否则无效.

关于日期打印,可以先 grep '2020-09-01 12:10:21' server.log 来确定日志中是否有该时间点,以确保第4步可以拿到日志

结合grep一起使用(比如我要找到超时的日志)

sed -n '/2020-09-01 12:10:21/,/2020-09-01 14:18:44/p'  server.log | grep 关键字

最后一步日志导出(导出到当前目录 ll查看一下当前目录是否存在)

sed -n '/2020-09-01 12:10:21/,/2020-09-01 14:18:44/p'  server.log | grep listMyMeetings > 11.txt

第二种方式,两个行号之间的命令:

sed -n '5,10p' filename 这样你就可以只查看文件的第5行到第10行。

这个根据时间段查询日志是非常有用的命令.

8、find

find 准确查找
find /etc/ -name "sshd_config" 
find 模糊查找
find /etc/ -name "sshd*"

带条件查找目录
find /etc/ -type d -name "console*"

带条件查找文件
find /etc/ -type f -name "sshd*"

 


每天努力一点,每天都在进步

©️2020 CSDN 皮肤主题: 终极编程指南 设计师:CSDN官方博客 返回首页