shell脚本下查看日志文件

本文介绍了一种通过tail和grep命令组合使用排查日志文件的方法,适用于实时监控和历史记录检索,包括按条件过滤、提取特定字段及统计记录数等实用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近工作中,发现页面的显示数据和预期不一致,在排查了数据表过后,发现错误原因不在数据表和代码逻辑中。因为数据表中的数据来自log文件,所以猜测是log中的信息有误。


排查log文件过程中,因为是只读,所以试了有vim,cat,tail,grep四个,最后主要用来查看文件内容用的是tail与grep。

先贴两个相关的链接:

    tail:https://www.cnblogs.com/peida/archive/2012/11/07/2758084.html

    grep:https://www.cnblogs.com/kingstrong/p/6027304.html

里面讲解了一些相关的信息。

不过在使用的时候不可能简简单单的就能出来,比如我使用的命令:tail -f /opt/文件夹/文件名.log |grep 'GET /筛选条件',其中的‘筛选条件’,就是代码中,需要导入数据表中的某个字段 like '筛选条件'一致。这样看到的是数据的实时条件的最后几条,然后页面走一次流程,便会在脚本看到新增的数据。


grep 'GET /筛选条件' /opt/文件夹/文件夹/文件名,可以查看某个文件内容,不过不是实时的,一般的文件这个命令基本可以支持,但是遇上某些记录或需求,如:

    1、数量太多,只查看某一天的,可以在后面加日期条件:       | grep '05/Dec/2017'

    2、每一条都会很大,所以需要摘出每一条日志中的某个字段来排查,类似于数据库语句中的 select id,name fom XXX 中的单独拿出id和name来检查,可以在命令后面加个条件:              | grep -o 记录中的某个字段.......................................|less

    3、如果不看记录内容,只是看数目,后面加:        | wc -l


** 注意:1、上面的第二条中的‘记录中的某个字段’,指的是记录中,会有一个字段的值跟你想要的字段值一致,但是它的键名并不是你代码中的那样,它有自己的命名,故需要你现自己看过记录后,确定哪一个字段是你需要的那个‘name’或者‘id’

              2、第二条中的‘.........................’,指的是显示你所需要的那个键值后面的多少个字符,一个点代表一个字符位,这个根据自己的实际需求来写


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值