Linux服务器下日志截取

2019-04-16  本文已影响0人  Home_Tang

我们经常需要去Linux服务器上查看服务运行日志,但是有时候日志文件很大看起来很不方便,这个时候我们需要对日志进行切割筛选出自己需要的日志,比如查看某段时间内的日志,命令如下:

sed -n '/2019-04-16 10:00:00.000/,/2019-04-16 11:00:00.000/'p catalina.out > 10-11-catalina.log

此命令表示获取2019-04-16这天10点到11点的日志输出到10-11-catalina.log文件(两个字符串之间的日志,如果第二个字符串没匹配上则直到文件结尾)

sed -n '100,1000'p catalina.out > 100-1000-Line.log
此命令表示获取catalina.out第100行到1000行的日志输出到100-1000-Line.log文件

如果截取的时间段是22/Feb/2019:15:57:00,那么可以使用在 / 前使用转移符\

sed -n  '/22\/Feb\/2019:15:57:00/,/22\/Feb\/2019:15:57:59/'p  /var/log/nginx/access.log >/tmp/access0925_0928.log

如果需要截取的日志太大,达到几个G的话,不能去vi打开文件:

根据之前的日志格式,使用正则表达式:

sed -n '/2019-04-16 09:[0-9][0-9]:[0-9][0-9]/,/2019-04-16 16:[0-9][0-9]:[0-9][0-9]/'p  /var/log/nginx/access.log
如果没有问题的话,上面就能筛选出指定的时间段的日志。
上一篇 下一篇

猜你喜欢

热点阅读