Linux系统如何截取线上日志

简述:1.按香港云主机日期截取线上日志命令  (1)首先,需清楚日志输出的时间日期格式,具体命令如下:  sed -n ‘/6-5 00:00:00/,/6-5 16:30:31/’p catalina.lo

1.按香港云主机日期截取线上日志命令

  (1)首先,需清楚日志输出的时间日期格式,具体命令如下:

  sed -n ‘/6-5 00:00:00/,/6-5 16:30:31/’p catalina.log >test.log

  上面的命令就代表截取总日志catalina.log中日期为6月5号0点到16点30分31秒的日志,并输出重定向到test.log。

  (2)其中日期格式不同就只需修改下日期格式即可,如下只需改日期即可:

  sed -n ‘/1-09 15:00:00/,/1-09 16:30:31/’p catalina.log >catalina.2017-01-09.log

  这样就可以取出1月9号下午15点到下午16点30分31秒的日志。

  2.按行数截取线上日志

  (1)首先,先查看总日志,如下面操作:

  vi catalina.log

  输入英文的冒号,再输入set nu,显示行数,然后定位一下你所需取的行数,接着输入命令:

  sed -n ‘10000,20000p’ catalina.log > test.log

  这样就可以取出10000到20000行的日志。

  (2)其中,我们要定位其行数时,我们可以这样操作:

  vi catalina.log

  输入英文的冒号,先输入set nu,显示出日志的行数,接着继续输入 /linmoumou 或者?linmoumou,这样就可以搜索定位到linmoumou这样的字符串,然后再根据日期,定位到其行数,就可以输入命令取行数的日志,大约取多少行看具体情况了!

  3.截取距离尾部多少行日志,即最近多少行的日志:

  这种取日志方法要分两种情况:

  (1) 第一种,用sudo命令取日志:

  首先,需到你这个用户的工作目录,可以输出以下命令:

 

  cd ~ 这样便可进入工作目录,用pwd查看当前路径,基本都是/home/test这样类似的

  然后,就可以输入以下命令:

  sudo tail -270000 /tomcat/logs/catalina.log > catalina

  其中这种需加上你所取的文件路径,要不然会取不出来,这样可取出最近270000行的日志,并重定向输出到catalina这个文件中。

  (2)第二种,这种跟上面的有点区别,这种可以直接进入总日志的文件目录,然后输入命令:

  sudo sh -c “tail -20000 catalina.log > catalina”

  这样就可以取出最近20000行的日志,并重定向输出到catalina文件中。

  注:以上几种方法,对于取线上日志,查询定位问题很有帮助,需了解。

  上面的命令大部分需进入所有总日志的路径,然后才执行命令,并且注意后面重定向文件的时候,不要取和总日志相同的名字,最好取时间日期命名格式,方面查找。更多香港云主机知识,可登入八联网络www.8lian.cn官网进行了解。

悍铭科技有限公司