linux命令日志抓取,linux收集日志命令

linux查看日志命令

linux查看日志命令:

成都创新互联公司凭借在网站建设、网站推广领域领先的技术能力和多年的行业经验,为客户提供超值的营销型网站建设服务,我们始终认为:好的营销型网站就是好的业务员。我们已成功为企业单位、个人等客户提供了成都做网站、成都网站建设服务,以良好的商业信誉,完善的服务及深厚的技术力量处于同行领先地位。

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"查询关键字的日志。

命令功能:

tail用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用于查看日志文件后多少行日志信息。

使用tail -f可以查看动态日志文件,tail -f filename可以把filename里最尾部的内容显示在屏幕上,并且不断刷新,使你看到最新的文件内容。

tail -n行数可以显示指定行数信息。

Linux查看系统日志的一些常用命令

last

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

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

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

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

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

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

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

last | grep reboot

last | 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日志文件说明

/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 该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件

Linux日志截取利器——sed命令(亲测可用)

在生产环境中,往往没有条件给我们去debug排查,更多时候我们是通过日志来看具体的报错日期。

但是日志往往是一直在实时更新,而且记录条数庞大,很难直接定位到错误信息。这个时候,就可以利用sed命令来截取指定时间段内的日志(也是网上大多数博主的做法)。

具体命令如下:

这条命令可以查询2020.10.13号当天9点到9点十分中间的所有的日志信息。

但是这条命令的使用有两个前提(很多网上的博主都没有提到)

第一,日志输出的日期格式是要满足命令中的格式 ,如果不是的话就跟着实际的格式改

第二,输入的日期必须要真实存在!!! ,比如说9点整刚好没有日志输出,那么这条命令就会失效

更加通配的命令可以是这样, 使用 号*

这样无论九点整的时候是否有日志产生,就都可以获取到9点整到现在的所有日志了

使用 ,将截取到的内容输出到指定的文件中,方便进一步查看

ps:在实际操作中,我们一般会在后面加grep命令做进一步的关键字过滤

linux怎么获取单条日志时间

截取一段时间内的log日志可以使用sed命令对log文件进行抽取操作:

1,sed查看某时间段到现在的系统日志:

sed -n '/May 20 17/,$p' /var/log/messages | less

2,sed 截选时间段日志:

假如日志的格式是--

“2015-05-04 09:25:55,606 后面跟日志内容 ”这样的

目标是需要将05-04的09:25:55 和09:28:08 之间的日志截取出来:

使用sed命令如下:

sed -n ‘/2015-05-04 09:25:55/,/2015-05-04 09:28:55/p’ logfile

这样可以精确地截取出来某个时间段的日志。

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

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

sed -n ‘/2010-11-17 09:[0-9][0-9]:[0-9][0-9]/,/2010-11-17 16:[0-9][0-9]:[0-9][0-9]/p’ logfile

如果没有问题的话,上面就能筛选出指定的时间段的日志。


网页名称:linux命令日志抓取,linux收集日志命令
新闻来源:http://azwzsj.com/article/hcgcdi.html