Linux 下 4 种实时监控日志文件方法,总有一种是你喜欢的

在 Linux 下如何才能实时查看日志内容呢?有不少工具能够帮助咱们在文件持续修改的同时输出文件内容,最经常使用的莫过于 tail 命令 了。程序员

1. tail Command – Monitor Logs in Real Time

如前所述, tail 命令是实时显示日志的最经常使用的方法。不过该命令有两个版本,以下所示。apache

第一个例子是为 tail 命令加上 -f 参数。服务器

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

第二个例子就是 tailf 命令。它自己内建了 -f 参数,所以你无需再为它指定 -f 参数。less

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

一般 Linux 服务器上的日志都是轮转日志。这种状况下,你须要用 -F 参数。工具

tail -F 会监控是否建立了新日志(所谓新日志指的是同一个名字,可是 fd 不同的日志文件),而且会转而显示新日志的内容,而不是老文件的内容。spa

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

然而,默认状况下 tail 命令只会显示文件最后 10 行的内容。若是你只想在实时模式下查看最后两行的内容,那么能够连用 -n 和 -f 参数,以下这样:日志

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

2. Multitail Command – Monitor Multiple Log Files in Real Time

另外一个好玩的命令是 Multitail Command。从名字中就能看出它能够实时监控多个日志,Multitail 还能让你先后翻阅被监控的文件。code

使用下面命令能够在基于 Debian 或 RedHat 的系统中安装 Mulitail。blog

$ sudo apt install multitail [On Debian & Ubuntu]
$ sudo yum install multitail [On RedHat & CentOS]
$ sudo dnf install multitail [On Fedora 22+ version]

下面例子演示了如何同时显示两个日志文件。ip

$ sudo multitail /var/log/apache2/access.log /var/log/apache2/error.log

3. lnav Command – Monitor Multiple Log Files in Real Time

另外一个相似 Multitail 的命令是 Lnav,Lnav 也能实时监控多个文件。

使用下面命令能够在基于 Debian 或 RedHat 的系统中安装 Lnav。

$ sudo apt install lnav [On Debian & Ubuntu]
$ sudo yum install lnav [On RedHat & CentOS]
$ sudo dnf install lnav [On Fedora 22+ version]

使用 Lnav 同时查看两个日志的方法以下:

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

4. less Command – Display Real Time Output of Log Files

最后你能够用 less 命令 查看日志文件,而后按下 Shift+F 也能实时查看日志内容。

跟 tail 同样, 在 less 中按下 Shift+F 会追踪文件末尾的内容。你也能够在调用 less 命令时就加上 +F 参数。

sudo less +F /var/log/apache2/access.log

总结

关注公众号:程序员白楠楠。获取:《鸟哥的Linux私房菜》

 
相关文章
相关标签/搜索