Linux查询指定时间段的日志

可以通过grep或者sed命令查指定时间段日志

1.命令

命令:

grep '时间' logfile[日志文件名] 

sed -n '/开始时间日期/,/结束时间日期/p' logfile[日志文件名] 

2.举例

【例】查询今天10月20日10点30分的这一分钟的日志

第一步,可以先看下日志文件的格式

tail -n 10 logfile[日志文件名]    --查看最后10行日志

第二步,通过grep提取和匹配符合条件的字符串行

1. grep '20/Oct/2022:10:30:[0-59]' error.log
2. cat -n error.log |grep '20/Oct/2022:10:30'

或者用sed查询

3. sed -n '/20\/Oct\/2022:10:30:00/, /20\/Oct\/2022:10:30:59/p' error.log
4. sed -n '/20\/Oct\/2022:10:30:*/p' error.log

注意事项

1. sed命令/需要进行转义
2. 使用第3种方式进行查询时,一定要保证,你要查询的时间段是日志文件中存在的时间,否则该命令会加载‘
整个日志文件到内存中,如果日志文件过大,可能会导致服务器内存飙升,甚至耗尽服务器内存,因此使用此
命令一定要保证查询的时间段在日志文件中存在。
3. 推荐使用grep比较好写

更多推荐

Linux查询指定时间段的日志