Linux日志按照时间截取内容


Linux日志按照时间截取内容

1.进入日志目录下[具体目录看项目]
cd /home/admin/fmg/logs/
2.打开日志
more info.2020-09-01.log

tail -100 info.2020-09-01.log
得到结果:

2020-09-01 10:09:49:656 WARN t.m.s.mapper.ClassPathMapperScanner : Skipping MapperFactoryBean with name 'ISchoolDao' and 'com.lexue.operation.repository.ISchoolDao' mapperInterface. Bean already defined with
the same name!
2020-09-01 10:09:49:656 WARN t.m.s.mapper.ClassPathMapperScanner : Skipping MapperFactoryBean with name 'IRefundLogDao' and 'com.lexue.operation.repository.IRefundLogDao' mapperInterface. Bean already define
d with the same name!
2020-09-01 10:09:49:656 WARN t.m.s.mapper.ClassPathMapperScanner : Skipping MapperFactoryBean with name 'IOrderLogsDao' and 'com.lexue.operation.repository.IOrderLogsDao' mapperInterface. Bean already define
d with the same name!

所以按日期截取格式为:【XXXX-XX-XX XX:XX:XX】

more/tail 命令, ctrl+c 可退出

3.执行截取命令
sed -n '/2020-09-01 10:00/, /2020-09-01 10:10/p' /home/admin/fmg/logs/info.2020-08-26.log > /home/fj/online-bug.log
sed -n '/开始时间/,/结束时间/p' 日志所在目录 > 截取新生成日志文件目录

注意:
开始时间,结束时间一定要注意是 日志文件中可以找到的,否则无法导出
例如:我的日志文件:info.2020-08-26.log 中全文档搜索没有找到 “2020-09-01 10:09:49:000” ,我现在使用sed -n '/2020-09-01 10:09:49:000/, /2020-09-01 11:09:49:000/p' /home/admin/fmg/logs/info.2020-08-26.log > /home/fj/online-bug.log 导出的日志文件为空,即使这个时间段内有日志,所以截取时要注意时间点,可以扩大到秒,分,时,天;
所以按分sed -n '/2020-09-01 10:00/, /2020-09-01 11:09/p' /home/admin/fmg/logs/info.2020-08-26.log > /home/fj/online-bug.log ; 按时sed -n '/2020-09-01 10/, /2020-09-01 11/p' /home/admin/fmg/logs/info.2020-08-26.log > /home/fj/online-bug.log 当然前提都是这个时间点在日志文件中可以被搜索到


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM