前言

本文主要介绍实时监控Linux日志文件的4种方法。

如何在Linux中实时查看日志文件的内容?有很多实用工具可以帮助用户在文件修改或不断更新时跟踪或监控文件发生的变化。在Linux中,用于实时显示文件内容的一些最常用的实用工具是tail命令。

4种方法实时监控Linux日志文件

1. `tail`命令-实时监控日志

如前所述,tail命令是实时监控日志文件变化内容的最常见解决方案。但是,该命令有两个版本,如下面的示例所示。

在第一个示例中,tail命令需要-f参数来跟踪文件的内容。

sudo tail -f /var/log/apache2/access.log

该命令的第二种用法实际上是另一个命令tailf.。您不需要使用-f选项,因为该命令内置有-f参数。

sudo tailf /var/log/apache2/access.log

通常,日志文件在Linux服务器上被logrotate工具频繁地修改。要查看每天修改的日志文件,可以使用tail命令的-F选项。

sudo tail -F /var/log/apache2/access.log

但是,在默认情况下,tail命令将显示文件的最后10行。例如,如果希望实时监视日志文件的最后两行,可以结合使用-n-f选项,如下面的示例所示。

sudo tail -n2 -f /var/log/apache2/access.log
tail命令-实时监控日志

2. `Multitail`命令-实时监控多个日志文件

另一个实时跟踪日志文件的有趣命令是multitail命令。该命令的名称意味着multitail程序可以实时监视和跟踪多个文件。multitail还允许您在监视的文件中来回导航。

要在基于Debian和RedHat的系统中安装mulitail实用程序,请执行以下命令。
基于Debian & Ubuntu

sudo apt install multitail

基于RedHat & CentOS系统

sudo yum install multitail

基于Fedora 22+ 系统

sudo dnf install multitail

要同时跟踪两个日志文件的变化,请执行以下示例所示的命令。

sudo multitail /var/log/apache2/access.log /var/log/apache2/error.log
Multitail命令-实时监控多个日志文件

3. inav命令-实时监控多个日志文件

另一个与multitail命令类似的有趣命令是lnav命令。lnav命令还可以监控和跟踪多个文件,并实时显示其最新的内容。

inav命令-实时监控多个日志文件

要在基于Debian和RedHat的Linux发行版中安装lnav命令程序,请使用以下命令。
基于Debian & Ubuntu系统

基于Debian & Ubuntu

sudo apt install lnav

基于RedHat & CentOS系统

sudo yum install lnav

基于Fedora 22+

sudo dnf install lnav

通过执行如下所示的命令,可以同时跟踪两个日志文件的变化内容。

sudo lnav /var/log/apache2/access.log /var/log/apache2/error.log

4. `less`命令-显示实时输出的日志文件

最后,如果键入Shift+F,可以用less命令显示文件实时更新的内容。

tail工具一样,使用less命令打开文件后,按Shift+F将开始跟踪文件尾部内容。或者,也可以使用less +F实时监控文件。

sudo less +F  /var/log/apache2/access.log
less命令-显示实时输出的日志文件

5. 总结

通过本教程,您应该可以学习到在Linux系统上如何使用上述4种方法实时监控日志文件了吧?

本订阅号不支持在线播放学习视频功能,如需要免费学习视频请添加视频学习专用微信服务号,一键关注的方法如下

微信搜索公众号“智传网优”或者长按以下二维码,然后选择“识别图中二维码”直接开始自助视频学习,欢迎留言或与我们讲师直接沟通。

扫码立即接入在线课堂随时随地学习潮流IT技术

Linux学习QQ群:557371664

本文已同步至博客站,尊重原创,转载时请在正文中附带以下链接:
https://www.linuxrumen.com/cyml/1707.html