美文网首页
Linux服务器下日志截取

Linux服务器下日志截取

作者: Home_Tang | 来源:发表于2019-04-16 11:12 被阅读0次

    我们经常需要去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
    如果没有问题的话,上面就能筛选出指定的时间段的日志。
    

    相关文章

      网友评论

          本文标题:Linux服务器下日志截取

          本文链接:https://www.haomeiwen.com/subject/jmwvwqtx.html