首页 > 其他分享 >查询服务器日志时的操作

查询服务器日志时的操作

时间:2023-01-04 17:35:12浏览次数:45  
标签:grep log console 查找 服务器 日志 查询 find

 

 

查看log.log日志文件(实时滚动刷新)

tail -f log.log

通用的查日志方式 ,使用less进入日志文件
比如查看当前目录下的console.log文件
less console.log
# 查找某个关键字, 使用/或者?,其中/是从当前位置往下查找, ?是往上查找
比如 /book 往下查找book关键词,?book往上查找book关键字
用 n 向前查找, N 向后查找
用 b 往前翻页 , f 往后翻页
用 G 跳到文件结尾, g 跳到文件开头

有时候, 我们需要根据名称来查找相关的文件
比如查找名称以console开头的文件,可以使用如下的find命令

find . -name 'console*'

其中.表示从当前目录往下查找, 如果需要全局查找(从根目录开始查找),则使用

find / -name 'console*'

也可以用locate命令, locate命令比find -name 更快, 但是会有延迟更新

locate console

有时候我们需要在多个日志文件中查找某个关键字
可以使用find结合grep
# 从当前目录往下查找, 查找包含字符串 CONFIRM 的文件(文件类型为f表示只查找文件, 而不查找目录), 并打印
# -name 和 -type 参数可以同时使用
下面是从当前目录开始查找全部文件, 并搜索其中带有 CONFIRM 关键字的内容
find . -type f | xargs grep 'CONFIRM'

上面的命令会同时列出文件名和日志信息

如果只想定位文件名(只想知道某个关键字出现在哪个日志文件中), 可以结合 cut 命令

find . -type f -name 'console*' | xargs grep 'CONFIRM' | cut -f1 -d':'

cut 的 -d':' 表示以 : 为分隔符对字符串进行切割, -f1 表示保留切割得到的字符串数组的第一个

加上 uniq 命令对文件名进行去重

find . -type f -name 'console*' | xargs grep 'CONFIRM' | cut -f1 -d':' | uniq

加上 sort 命令对文件名进行排序
find . -type f -name 'console*' | xargs grep 'CONFIRM' | cut -f1 -d':' | uniq | sort

uniq后面还可以跟 -c 参数, 可以计数

如果符合条件的文件数太多, 则可以只列出前n行,比如只列出前10行

find . -type f -name 'console*' | xargs grep 'CONFIRM' | cut -f1 -d':' | uniq | head -n 10

find 默认是递归查找所有文件子目录, 若只希望往下查找一级目录, 可以通过maxdepth 参数来指定

find . -type f -name 'console*' -maxdepth 2

若希望查找不满足某条件, 则可以用not, 进行反向查找

find . -not -name 'console*'


如果要查的日志是压缩文件,需要把 grep 替换成 zgrep

grep 可以增加参数, 比如下面的命令,可以查找console.log文件中出现CONFIRM关键字的上下5行的信息

grep -C 5 'CONFIRM' console.log

统计次数可以使用
wc -l

设置命令别名可以用
alias ll='ls -l'

通常用如下命令即可快速查找包含某一字符串的日志文件(按照日志文件名称排序),假设日志文件放在当前目录的logs目录下
find ./logs/ -name console* | xargs grep '301' | cut -f1 -d ':' | uniq | sort

使用grep查找 大日志文件 中的某个关键字

查看关键字前后5行的内容 grep -C 5 NullPointerException start.log
查看关键字后面5行的内容 grep -A 5 NullPointerException start.log
查看关键字前面5行的内容 grep -B 5 NullPointerException start.log

统计某个关键词的出现次数
-o 表示只输出匹配部分

grep -o FullGC gc.log | wc -l

 

 

 

uniq命令可以用来去重,但只能对相邻的重复元素去重,所以一般将其与sort配套使用,先sort后uniq,比如
cat console.log | grep -o apiName.* | sort | uniq 统计出日志中调用的全部接口(去重)

 

reference :https://blog.csdn.net/vcj1009784814/article/details/107707801

标签:grep,log,console,查找,服务器,日志,查询,find
From: https://www.cnblogs.com/jyf2018/p/17025530.html

相关文章

  • 自研ORM Include拆分查询(递归算法 支持无限层级) 性能优化探讨
    最近我在优化 Include拆分查询,贴出源码供大家交流探讨是否还有优化空间。测试代码1Console.WriteLine($"总记录数:{db.Query<Category>().Count()}......
  • icp备案怎么查询?查询ICP的方法?
    网站ICP备案的目的就是国家为了防止一些人在网上从事一些非法经营活动,打击不良信息的传播,如果网站不备案的话,将网站信息放在国内主机中,我们是无法正常打开网站的。做新网站......
  • 轻量服务器上的流量带宽套餐解析
    在选购轻量服务器的时候,我们会遇到这样同时有最高带宽和流量的套餐,这种套餐应该怎么选择呢?我要如何才知道这个套餐的流量足够我服务器使用呢?  判断标准:我们......
  • 服务器攻击常见的手段有哪些
    服务器攻击常见的手段有哪些1、SQL注入 使用后台漏洞通过要在数据库中销毁的URL将关键SQL语句引入程序。许多黑客会使用F12或postman等程序集Ajax请求向后台发送非法号......
  • 8.4.3 多表查询
     一介绍本节主题多表连接查询复合条件连接查询子查询准备表viewview二多表连接查询#重点:外链接语法SELECT字段列表FROM表1INNER|LEFT|RIGHTJOIN表2ON表1.......
  • 关于“/”应用程序中的服务器错误 之解决方案
    错误界面:有的网友提供的的解决方法是,在webconfig里面添加一个配置即:说明: 服务器上出现应用程序错误。此应用程序的当前自定义错误设置禁止远程查看应用程序错误的详细......
  • 服务器的用途有哪些
    服务器的用途有哪些1、外贸网站与电子商务平台 企业可以通过租用服务器,在服务器上建立网站或博客、电子商务平台等,不仅安全好用,而且性价比也是很高的。可以通过服务器提......
  • EBS: 价目表权限分配查询与设置
    --价目表权限分配SELECTFR.RESPONSIBILITY_ID,--FR.APPLICATION_ID,FR.RESPONSIBILITY_NAMEAS"责任名",FR.RESPONSIBILITY_KEYAS"责......
  • 关于新服务器安装Mysql服务后注意事项:1.表名区分大小写 2.日期中不允许出现值为0
    新购入一台Linux服务器,将项目部署至服务器,项目出现问题记录如下:1.项目使用JPA,实例类中表名为大写,JPA查询显示该表不存在,原因是Mysql设置中默认表名区分大小写showvari......
  • 在哪里可以查询网站的收录情况?网站收录如何查询?
    不知道SEO的小伙伴有没有发现,随着市场的更新换代,之前常用的查询网站收录的工具好多都用不了了。用下来,觉得还是这个工具稳定,操作简单,查询速度快,还可以批量查询网站收录情况,......