前言
本文主要介紹實時監控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種方法實時監控日志文件了吧?
本文已同步至博客站,尊重原創,轉載時請在正文中附帶以下鏈接:https://www.linuxrumen.com/cyml/1707.html
點擊了解更多,快速查看更多的技術文章列表。