Linux服务器查看日志的几种方法

Linux服务器查看日志的几种方法,第1张

1、进入日志文件所在的文件目录,比如:

cd /opt/tomcat7/logs

2、通过命令打开日志,分析需求场景打开需要的日志

比如:

tail  -f   catalina.out

3、常用命令一:tail

比如:

tail -f  test.log    (循环查看文件内容)

4、按照行号查询:cat(过滤出关键字附近的日志)

cat -n test.log |grep "订单号"

然后使用 head -n 20 查看查询结果里的向前20条记录

5、按照时间日期查询,(查询出一段时间内的记录)

sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p'  test.log

查看该段时间内的日志

但是前提是用方法4试一下查询的哪个其实时间是不是存在

登录

kbkiss

Linux查看日志常用命令

1.查看日志常用命令

  tail:

     -n  是显示行号;相当于nl命令;例子如下:

          tail -100f test.log      实时监控100行日志

          tail  -n  10  test.log   查询日志尾部最后10行的日志

          tail -n +10 test.log    查询10行之后的所有日志

  head:

      跟tail是相反的,tail是看后多少行日志;例子如下:

          head -n 10  test.log   查询日志文件中的头10行日志

          head -n -10  test.log   查询日志文件除了最后10行的其他所有日志

  cat:

      tac是倒序查看,是cat单词反写;例子如下:

          cat -n test.log |grep "debug"   查询关键字的日志

2. 应用场景一:按行号查看---过滤出关键字附近的日志

   1)cat -n test.log |grep "debug"  得到关键日志的行号

   2)cat -n test.log |tail -n +92|head -n 20  选择关键字所在的中间一行. 然后查看这个关键字前10行和后10行的日志:

          tail -n +92表示查询92行之后的日志

          head -n 20 则表示在前面的查询结果里再查前20条记录

3. 应用场景二:根据日期查询日志

    sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p'  test.log

    特别说明:上面的两个日期必须是日志中打印出来的日志,否则无效;

                    先 grep '2014-12-17 16:17:20' test.log 来确定日志中是否有该 时间点

4.应用场景三:日志内容特别多,打印在屏幕上不方便查看

  (1)使用more和less命令,

         如: cat -n test.log |grep "debug" |more     这样就分页打印了,通过点击空格键翻页

  (2)使用 >xxx.txt 将其保存到文件中,到时可以拉下这个文件分析

          如:cat -n test.log |grep "debug"  >debug.txt

last

-a 把从何处登入系统的主机名称或ip地址,显示在最后一行。

-d 指定记录文件。指定记录文件。将IP地址转换成主机名称。

-f <记录文件> 指定记录文件。

-n <显示列数>或-<显示列数> 设置列出名单的显示列数。

-R 不显示登入系统的主机名称或IP地址。

-x 显示系统关机,重新开机,以及执行等级的改变等信息

以下看所有的重启、关机记录

last | grep rebootlast | grep shutdown

history

列出所有的历史记录:

[zzs@Linux] # history

只列出最近10条记录:

[zzs@linux] # history 10 (注,history和10中间有空格)

使用命令记录号码执行命令,执行历史清单中的第99条命令

[zzs@linux] #!99 (!和99中间没有空格)

重复执行上一个命令

[zzs@linux] #!!

执行最后一次以rpm开头的命令(!? ?代表的是字符串,这个String可以随便输,Shell会从最后一条历史命令向前搜索,最先匹配的一条命令将会得到执行。)

[zzs@linux] #!rpm

逐屏列出所有的历史记录:

[zzs@linux]# history | more

立即清空history当前所有历史命令的记录

[zzs@linux] #history -c

cat, tail 和 watch

系统所有的日志都在 /var/log 下面自己看(具体用途可以自己查,附录列出一些常用的日志)

cat /var/log/syslog 等

cat /var/log/*.log

tail -f

如果日志在更新,如何实时查看 tail -f /var/log/messages

还可以使用 watch -d -n 1 cat /var/log/messages

-d表示高亮不同的地方,-n表示多少秒刷新一次。

该指令,不会直接返回命令行,而是实时打印日志文件中新增加的内容,

这一特性,对于查看日志是非常有效的。如果想终止输出,按 Ctrl+C 即可。

除此之外还有more,less,dmesg|more,这里就不作一一列举了,因为命令太多了,关键看个人喜好和业务需求.个人常用的就是以上那些.《Linux就该这么学》一起学习linux

linux日志文件说明

/var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一

/var/log/secure 与安全相关的日志信息

/var/log/maillog 与邮件相关的日志信息

/var/log/cron 与定时任务相关的日志信息

/var/log/spooler 与UUCP和news设备相关的日志信息

/var/log/boot.log 守护进程启动和停止相关的日志消息

/var/log/wtmp 该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/9001865.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-23
下一篇 2023-04-23

发表评论

登录后才能评论

评论列表(0条)

保存