Linux 下 4 種實(shí)時(shí)監(jiān)控日志文件的方法,總有一種適合你
擊上方“Java專欄”,選擇“置頂或者星標(biāo)”
第一時(shí)間閱讀精彩文章!
點(diǎn)擊這段文字獲?。?/strong>5個(gè)可以寫到簡歷的項(xiàng)目實(shí)戰(zhàn)視頻教程(含源碼)
來源:GitHub
鏈接:http://t.cn/AiKIk7c3
在 Linux 下如何才能實(shí)時(shí)查看日志內(nèi)容呢?有很多工具可以幫助我們?cè)谖募掷m(xù)修改的同時(shí)輸出文件內(nèi)容,最常用的莫過于 tail 命令 了。
1. tail Command – Monitor Logs in Real Time
如前所述, tail 命令是實(shí)時(shí)顯示日志的最常用的方法。不過該命令有兩個(gè)版本,如下所示。
第一個(gè)例子是為 tail 命令加上 -f 參數(shù)。
$?sudo tail -f /var/log/apache2/access.log
第二個(gè)例子就是 tailf 命令。它本身內(nèi)建了 -f 參數(shù),因此你無需再為它指定 -f 參數(shù)。
$?sudo tailf /var/log/apache2/access.log
通常 Linux 服務(wù)器上的日志都是輪轉(zhuǎn)日志。這種情況下,你需要用 -F 參數(shù)。
tail -F 會(huì)監(jiān)控是否創(chuàng)建了新日志(所謂新日志指的是同一個(gè)名字,但是 fd 不一樣的日志文件),并且會(huì)轉(zhuǎn)而顯示新日志的內(nèi)容,而不是老文件的內(nèi)容。
$?sudo tail -F /var/log/apache2/access.log然而,默認(rèn)情況下 tail 命令只會(huì)顯示文件最后 10 行的內(nèi)容。如果你只想在實(shí)時(shí)模式下查看最后兩行的內(nèi)容,那么可以連用 -n 和 -f 參數(shù),如下這樣:
$?sudo tail -n2 -f /var/log/apache2/access.log
2. Multitail Command – Monitor Multiple Log Files in Real Time
另一個(gè)好玩的命令是 Multitail Command。從名字中就能看出它可以實(shí)時(shí)監(jiān)控多個(gè)日志,Multitail 還能讓你前后翻閱被監(jiān)控的文件。
使用下面命令可以在基于 Debian 或 RedHat 的系統(tǒng)中安裝 Mulitail。
$ sudo apt?install?multitail [On?Debian & Ubuntu]
$ sudo yum?install?multitail [On?RedHat & CentOS]
$ sudo dnf?install?multitail [On?Fedora?22+?version]下面例子演示了如何同時(shí)顯示兩個(gè)日志文件。
$ sudo multitail /var/log/apache2/access.log?/var/log/apache2/error.log
3. lnav Command – Monitor Multiple Log Files in Real Time
另一個(gè)類似 Multitail 的命令是 Lnav,Lnav 也能實(shí)時(shí)監(jiān)控多個(gè)文件。
使用下面命令可以在基于 Debian 或 RedHat 的系統(tǒng)中安裝 Lnav。
$ sudo apt?install?lnav [On?Debian & Ubuntu]
$ sudo yum?install?lnav [On?RedHat & CentOS]
$ sudo dnf?install?lnav [On?Fedora?22+?version]使用 Lnav 同時(shí)查看兩個(gè)日志的方法如下:
$ 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 也能實(shí)時(shí)查看日志內(nèi)容。
跟 tail 一樣, 在 less 中按下 Shift+F 會(huì)追蹤文件末尾的內(nèi)容。你也可以在調(diào)用 less 命令時(shí)就加上 +F 參數(shù)。
sudo less +F /var/log/apache2/access.log
題外話:推薦一個(gè)GitHub項(xiàng)目,這個(gè) GitHub 整理了上百本常用技術(shù)PDF,絕大部分核心的技術(shù)書籍都可以在這里找到,GitHub地址:https://github.com/gsjqwyl/awesome-ebook(電腦打開體驗(yàn)更好),地址閱讀原文直達(dá)。麻煩打個(gè)給個(gè)Star,持續(xù)更新中...
---END---
文末福利


