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

程序员白楠楠 2020-12-11 23:01:52
linux rhel lnav multitail


在 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

总结

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


 
版权声明
本文为[程序员白楠楠]所创,转载请带上原文链接,感谢
https://my.oschina.net/u/4800383/blog/4793347

  1. 看图知Docker
  2. 精尽Spring MVC源码分析 - 寻找遗失的 web.xml
  3. [面试篇]Java容器面试大集合
  4. HashMap的有关知识点大综述
  5. 68篇干货,手把手教你通关 Spring Security!
  6. 解决Linux下pcieport 0000:00:1c.5问题导致的系统根目录/磁盘空间不足
  7. How to deal with Linux interview? Five practical questions for you to share
  8. Centos7 uses source code compilation to install redis
  9. Dockerfile supporting springboot multi environment and dynamic configuration of JVM
  10. Java project practice
  11. Detailed monitoring of startup time of "spring boot 2.4 new features"
  12. Interview problems and solutions for Java programmers
  13. Java 15 abandons biased lock and discusses Java synchronized locking mechanism
  14. Four aspects of Java: HashMap + distributed lock + AOP + redis + source code has been asked all the time (already offered)
  15. Alibaba has taken offer on 4 sides, network + java + distributed + operating system
  16. Tencent interview: database + data structure + JVM + Network + java + distributed + operating system
  17. Java back-end interview like this, the probability of getting an offer is 99%
  18. After mastering these knowledge points, spring cloud + springboot + docker and microservice architecture are still not at your fingertips
  19. Java程序执行过程及内存机制
  20. Adapt to Apple M1 Mac, JetBrains IntelliJ idea update
  21. Summary of the 5 most common Java language features to help you learn java better!
  22. Network programming
  23. Redis cluster proxy image is given to the docker file
  24. In depth analysis of Java, kotlin, go threads and coroutines
  25. "Java game implementation": greedy snake
  26. linux 下 htop 命令的用法
  27. The simplest go dockerfile writing posture, no one!
  28. Spring MVC reported an exception: org.springframework.web . util.NestedServletException : Request processing failed
  29. In depth analysis of Java, kotlin, go threads and coroutines
  30. Build redis cluster
  31. Android Socket与HTTPS校验
  32. 竟然有人说学Java并发编程只是为了应付面试?怪不得你只能拿10K!
  33. Spring 事务的那些坑,都在这里了!
  34. Spring 事务的那些坑,都在这里了!
  35. 7种启动Spring Boot项目的方式,一次性打包说给你听
  36. 阿里云 go sdk 获取 ecs 资产信息
  37. 这个Maven依赖的问题,你敢说你没遇到过
  38. Kitty Cloud中Http/Rpc双协议的支持
  39. Kitty Cloud(HTTP_RPC)的全局异常处理
  40. 纳尼,Spring Cloud Feign 数据竟然丢失了
  41. K8S核心概念具体细节梳理
  42. 再说linux命令行的管道
  43. 得心应手,linux新安装的虚拟机必备常用的配置【最小化】,centos7虚拟机初始化环境快照配置,帮助你快速使用新系统/虚机
  44. Javascript智能手表
  45. Alibaba Cloud Linux 等保 2.0 三级版操作系统详解
  46. 使用Tomcat Native提升Tomcat IO效率
  47. VMware WorKstation虚拟机上 Linux 6最小化安装和基本网络环境配置
  48. 使用Tomcat Native提升Tomcat IO效率
  49. Hard core dry goods! Redis performance optimization, recommended collection!
  50. Springboot2.4 mybatisplus 3.4.0 paging
  51. [tensorflowjs is just like the beginning] actual combat 1. JavaScript native code to achieve gradient descent to find the minimum value
  52. Solve the problem of slow construction of springboot project
  53. Decompression version of MySQL + free version of Navicat, easy to use!
  54. Redis predixy proxy
  55. Spring boot + logback configuration log is divided by size and date to solve the failure problem
  56. In depth analysis of Java, kotlin, go threads and coroutines
  57. In depth analysis of Java, kotlin, go threads and coroutines
  58. Web front end basics to learn Java (summary)
  59. Uwsgi + nginx based on Linux
  60. What to do with k8s node exception? Tke 'node health check and self-healing' to help