【Linux运维】服务日志快速查询命令

Linux服务日志查询

前言

linux服务下快速查找日志内容,提高分析问题的效率,是作为程序员必备的一个非常重要的技能,下面介绍一些linux系统查询日志常用的一些命令和查询结果保存。

一、 cat | grep 命令的使用

1.单个关键字查询日志

cat 日志文件名.log | grep 关键字    	     //单行显示

cat 日志文件名.log | grep 关键字 -B 5    //之前5行 B的释义:Before

cat 日志文件名.log | grep 关键字 -A 5    //之后5行 A的释义:After

cat 日志文件名.log | grep 关键字 -5       //前后5行

cat 日志文件名.log | grep 关键字 -C 5    //前后5行

cat 日志文件名.log | grep -v 关键字      //排除关键字所在的行的信息

cat -n 日志文件名.log|tail -n +7625359|head -n 10 // 查询7625359行号数据的之后10行

2.多个关键字同时满足

cat 日志文件名.log | grep 关键字1 | grep 关键字2 | grep 关键字3

3.多个关键字满足任意一个

cat 日志文件名.log | grep -E 关键字1|关键字2|关键字3

二、 tail -f 命令的使用

1.实时显示日志结果

tail -f 日志文件名.log        			//实时查看日志文件

tail -10f 日志文件名.log       			//实时查看日志文件后10行

tail -f 日志文件名.log | grep 关键字    //实时查看关键字过滤后的结果(可以grep命令合并使用)

二、grep命令的使用

1.单个关键字过滤

grep 关键字 日志文件名.log        			//单行显示

grep 关键字 -B5 日志文件名.log        		//之前5行 B的释义:Before

grep 关键字 -A5 日志文件名.log        		//之后5行 A的释义:After

grep 关键字 -C5 日志文件名.log        		//前后5行

grep 关键字 -5 日志文件名.log             	//前后5行

grep -v 关键字 日志文件名.log      			//排除关键字所在的行的信息

2.多个关键字同时满足

grep 关键字1 日志文件名.log | grep 关键字2 | grep 关键字3

3.多个关键字满足任意一个

grep -E 关键字1|关键字2|关键字3

三、 日志截取

1.指定时间范围截取日志

sed -n /开始时间/,/结束时间/p 日志文件名.log > 保存目录
例:sed -n /2022-01-24 12:50:00/,/2022-01-24 13:00:00/p catalina.log > /tmp/test.log

四、 日志结果保存

1.查询日志结果保存

cat 日志文件名.log | grep 关键字 > 保存目录
例:cat catalina.log | grep 关键字 > /tmp/test.log

grep 关键字 日志文件名.log > 保存目录 
例:grep 关键字 catalina.log > /tmp/test.log

2.查询文件目录

find -name catalina.log
find /usr/local -name catalina.log

五、 服务重启

1.正常重启

目录:/usr/local/tomcat/bin
启动: ./startup.sh 
关闭:./shutdown.sh

2.强制重启

查看进程:ps -aux | grep tomcat
立即杀死:kill -9 29133(没有权限的话sudo) 
目录:/usr/local/tomcat/bin
启动:./startup.sh
经验分享 程序员 微信小程序 职场和发展