Linux截取某一段时间的日志问题

Linux截取某一段时间的日志

问题:在服务器上,UAT环境 logs日志 有2G 想要查看下载显然不合适,所以想要截取某一段时间的日志。

因为不清楚日志的精确开始时间和结束时间,为避免截取的日志里没有对应的时间而导致截取失败,所以用正则表达式[0-9]来对日志进行截取

本次截取的日志的时间格式为:

[2023-01-09 23:10:00.001] [myScheduler-5]
[2023-01-09 23:10:00.001] [myScheduler-5]

想要截取2023-01-09 23点 到 2023-01-10 3点的数据

注意上述的时间格式是后面跟了一个小数点加三位数字,日志的时间格式和我这个不一致的会导致截取日志失败,根据你的格式而定。

1、日志的时间格式为时间后面跟有 一个小数点加三位数字的截取命令

sed -n '/2023-01-09 23:[0-5][0-9]:[0-5][0-9].[0-9][0-9][0-9]/,/2023-01-10 03:[0-5][0-9]:[0-5][0-9].[0-9][0-9][0-9]/p' 被截取的文件名 > 输出的文件名

2、日志的时间格式普通的时间格式的截取命令

sed -n '/2023-01-09 23:[0-5][0-9]:[0-5][0-9]/,/2023-01-10 03:[0-5][0-9]:[0-5][0-9]/p' 被截取的文件名 > 输出的文件名

ps:Linux截取某一时间段内的日志

前言:截取8点到9点的日志,因为不清楚日志的精确开始时间和结束时间,为避免截取的日志里没有对应的时间而导致截取失败,所以用正则表达式[0-9]来对日志进行截取

本次截取的日志的时间格式为:

2022-10-01 09:30:03.071

注意上述的时间格式是后面跟了一个小数点加三位数字,日志的时间格式和我这个不一致的会导致截取日志失败

1、日志的时间格式为时间后面跟有 一个小数点加三位数字的截取命令

sed -n '/2022-10-01 11:[0-5][0-9]:[0-5][0-9].[0-9][0-9][0-9]/,/2022-10-01 12:[0-5][0-9]:[0-5][0-9].[0-9][0-9][0-9]/p' 被截取的文件名.log > 输出的文件名.log

 2、日志的时间格式普通的时间格式的截取命令

sed -n '/2022-10-01 08:[0-9][0-9]:[0-9][0-9]/,/2022-10-01 09:[0-9][0-9]:[0-9][0-9]/p' 被截取的文件名.log > 输出的文件名.log

3、使用以下命令查看当前文件夹下的所有文件的大小(可以查看日志有没有截取成功,不成功的话截取出来的日志大小和原来的相差无几)

ll -h

4、使用以下命令压缩日志,方便导出日志

tar -zcvf 压缩出来后的文件名.log.tar 被压缩的文件名.log

到此这篇关于Linux截取某一段时间的日志 的文章就介绍到这了,更多相关Linux截取某一段时间的日志 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(Linux截取某一段时间的日志问题)