【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
