Linux成长库

sed日志截取

2017-08-03  本文已影响48人  泡菜爱上WaSabi

按日期截取线上日志命令

(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秒的日志。

按行数截取线上日志

(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这样的字符串,然后再根据日期,定位到其行数,就可以输入命令取行数的日志,大约取多少行看具体情况了!

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

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

(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文件中。

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

上面的命令大部分需进入所有总日志的路径,然后才执行命令,并且注意后面重定向文件的时候,不要取和总日志相同的名字,最好取时间日期命名格式,方面查找。

上一篇下一篇

猜你喜欢

热点阅读