查看原文
其他

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

点击上方“杰哥的IT之旅”,选择“星标”公众号

重磅干货,第一时间送达


来源:GitHub

链接:http://t.cn/AiKIk7c3

在 Linux 下如何才能实时查看日志内容呢?有很多工具可以帮助我们在文件持续修改的同时输出文件内容,最常用的莫过于 tail 命令 了。

1. tail Command – Monitor Logs in Real Time

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

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

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


第二个例子就是 tailf 命令。它本身内建了 -f 参数,因此你无需再为它指定 -f 参数。

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


通常 Linux 服务器上的日志都是轮转日志。这种情况下,你需要用 -F 参数。

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

$ 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 还能让你前后翻阅被监控的文件。

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

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


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

$ 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

来和上万名读者一起见证彼此成长!

扫描下方二维码,添加杰哥微信,备注:地区/城市-职业方向/学校-昵称,即可加入杰哥的IT之旅读者群,群内仅供学习交流、日常互动、资源分享、经验分享等,一定要记得备注,我会尽快通过好友验证的。

👆长按识别,添加微信

(添加人数较多,请耐心等待)


本公众号全部博文已整理成一个目录,请在公众号后台回复「m」获取!

推荐阅读(点击如下标题即可跳转)

1、130 个相见恨晚的超实用网站,一次性分享出来
2、疫情后互联网公司跳槽指南
3、如何在Windows上做Python开发?微软出了官方教程
4、290家公司都在用的任务调度系统,还在Github上开源了
5、Git 从入门到精通,这篇包教包会!
6、我花了五个小时的时间,将全部文章详细整理出来了,千万不要错过!

你在看吗?

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存