(转)快速查找项目发生异常日志命令

转自:https://blog.youkuaiyun.com/liangwenmail/article/details/72967537

1如果知道多少行到多少行发生了日志:
 sed -n '起始行号,结束行号p' catalina.out |cat
 
2 按异常搜索,如果直接知道是什么异常最好了,不知道就搜Exception
cat -n catalina.out | grep Exception -A2 -B2 会得到每个异常的前2行和后2行,同时标注了每个异常在catalina.out的行号,
找到自己追踪的异常的行号后,可以用第二种方法进一步定位这个异常,比如这个异常在第102行,查看第102行到150行日志,可以 sed -n '102,150p' catalina.out|cat 
 

<think>好的,用户想了解Linux系统中查找日志文件的命令及其示例用法。首先,我需要回忆一下常见的日志相关命令。根据之前的引用,find、grep、locate、logsave、logrotate、logwatch等都被提到过。用户特别关注查找日志文件的命令,所以可能需要重点介绍find、locate、grep这些用于查找和过滤日志文件的工具。 接下来,我需要整理这些命令的具体用法和示例。比如find命令可以通过路径、名称、时间等参数来查找文件。例如按时间过滤最近修改的日志文件,或者按大小查找。而locate命令则是基于数据库快速搜索,适合快速查找已知文件名的日志。 然后,用户可能不仅需要找到日志文件,还需要在文件中搜索特定内容,这时候grep就派上用场了。比如使用grep查找关键字,或者结合正则表达式进行复杂搜索。另外,引用中提到的awk在处理日志中的特定字段时也很有用,比如提取接口名称。 还要考虑用户可能的进阶需求,比如如何查看实时日志,这时候tail -f命令就很有用。或者需要分析大日志文件时,结合zgrep处理压缩文件。此外,logrotate和logwatch这样的管理工具虽然不直接用于查找,但和日志处理相关,可能需要简要提及。 需要确保每个命令的示例清晰,并且符合用户的实际使用场景。例如,查找最近7天修改过的日志文件,或者查找包含错误信息的日志条目。同时,注意不同命令的优缺点,比如locate的速度快但数据可能不是实时,而find更准确但耗时较长。 最后,整理结构,分点列出每个命令的说明、用法和示例,确保用户能够逐步理解和应用这些命令。可能还需要添加一些相关问题,帮助用户进一步学习优化日志管理的方法。</think>### Linux日志文件查找命令详解 以下是5种常用日志文件查找与分析的命令方法,包含具体场景示例: #### 一、find命令(精准查找) $$ find [路径] [选项] $$ 1. **按名称查找**: ```bash find /var/log -name "*.log" # 查找/var/log目录下所有.log文件 ``` 2. **按时间过滤**: ```bash find /app/logs -mtime -7 -name "access*" # 查找7天内修改过的访问日志 ``` 3. **按大小筛选**: ```bash find / -size +100M -name "*.log" 2>/dev/null # 查找大于100MB的日志文件 ``` #### 二、grep命令(内容搜索) $$ grep [选项] "模式" 文件 $$ 1. **基础搜索**: ```bash grep "ERROR" /var/log/syslog # 查找系统日志中的错误记录 ``` 2. **正则表达式**: ```bash grep -E "5[0-9]{2}" access.log # 查找HTTP 5XX错误 ``` 3. **多文件搜索**: ```bash grep -rin "connection timeout" /var/log/nginx/*.log # 递归搜索nginx日志 ``` #### 三、locate命令快速定位) ```bash updatedb && locate error.log # 更新数据库后查找 ``` #### 四、日志分析组合技 1. **实时监控**: ```bash tail -f app.log | grep "WARN" # 实时显示警告信息 ``` 2. **时间段分析**: ```bash sed -n '/2023-08-01 14:00:00/,/2023-08-01 15:00:00/p' system.log ``` 3. **字段提取**: ```bash awk -F'【请求地址】:' '{print $2}' api.log | sort | uniq -c # 统计接口调用次数 ``` #### 五、压缩日志处理 ```bash zgrep "OOM" /var/log/kern.log.*.gz # 搜索压缩日志中的内存溢出记录 ``` ### 命令对比表 | 命令 | 场景 | 优势 | 注意点 | |---------|--------------------------|-------------------------|-------------------------| | find | 精准条件查找 | 支持多种过滤条件 | 遍历文件系统耗时 | | grep | 日志内容分析 | 支持正则表达式 | 大文件搜索较慢 | | locate | 快速文件名定位 | 毫秒级响应 | 依赖定时更新的数据库 | | tail | 实时日志监控 | 动态跟踪日志更新 | 需要持续监控 | | zgrep | 压缩文件搜索 | 无需解压直接搜索 | 仅支持gzip格式 | ### 典型应用场景 1. **故障排查**:组合使用`grep -C 5 "Exception"`查看异常上下文 2. **性能分析**:`awk '$9 > 500 {print $7}' access.log` 查找慢请求 3. **日志归档**:`find /logs -mtime +30 -exec gzip {} \;` 压缩旧日志 ### 注意事项 1. 使用`/dev/null`重定向错误输出:`find / 2>/dev/null` 2. 处理大文件时建议使用`less +F`替代`tail -f` 3. 定期执行`logrotate`可避免单个日志文件过大
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值