linux寫(xiě)日志命令,linux操作日志命令

Linux日志管理五大命令有哪些詳解

1、who命令

創(chuàng)新互聯(lián)建站專(zhuān)注于企業(yè)全網(wǎng)整合營(yíng)銷(xiāo)推廣、網(wǎng)站重做改版、東城網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、HTML5建站、成都做商城網(wǎng)站、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性?xún)r(jià)比高,為東城等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。

who命令查詢(xún)utmp文件并報(bào)告當(dāng)前登錄的每個(gè)用戶(hù)。Who的缺省輸出包括用戶(hù)名、終端類(lèi)型、登錄日期及遠(yuǎn)程主機(jī)。使用該命令,系統(tǒng)管理員可以查看當(dāng)前系統(tǒng)存在哪些不法用戶(hù),從而對(duì)其進(jìn)行審計(jì)和處理。例如:運(yùn)行who命令顯示如下所示:

#?who

root?????pts/1????????2010-02-22?13:02?(:0.0)

root?????pts/2????????2010-02-22?15:57?(:0.0)

root?????pts/3????????2010-02-22?15:57?(:0.0)

如果指明了wtmp文件名,則who命令查詢(xún)所有以前的記錄。命令who /var/log/wtmp將報(bào)告自從wtmp文件創(chuàng)建或刪改以來(lái)的每一次登錄。例如:運(yùn)行該命令如下所示:

root?????:0???????????2010-01-24?21:47

root?????pts/1????????2010-01-24?21:47?(:0.0)

root?????:0???????????2010-02-20?19:36

root?????pts/1????????2010-02-20?19:36?(:0.0)

root?????:0???????????2010-02-21?15:21

root?????pts/1????????2010-02-21?15:56?(:0.0)

root?????pts/2????????2010-02-21?16:03?(:0.0)

root?????:0???????????2010-02-22?13:01

root?????pts/1????????2010-02-22?13:02?(:0.0)

root?????pts/2????????2010-02-22?15:57?(:0.0)

root?????pts/3????????2010-02-22?15:57?(:0.0)

2、user命令

users用單獨(dú)的一行打印出當(dāng)前登錄的用戶(hù),每個(gè)顯示的用戶(hù)名對(duì)應(yīng)一個(gè)登錄會(huì)話。如果一個(gè)用戶(hù)有不止一個(gè)登錄會(huì)話,那他的用戶(hù)名將顯示相同的次數(shù)。運(yùn)行該命令將如下所示:

# users

root root root

3、last 命令

last命令往回搜索wtmp來(lái)顯示自從文件第一次創(chuàng)建以來(lái)登錄過(guò)的用戶(hù)。系統(tǒng)管理員可以周期性地對(duì)這些用戶(hù)的登錄情況進(jìn)行審計(jì)和考核,從而發(fā)現(xiàn)起中存在的問(wèn)題,確定不法用戶(hù),并進(jìn)行處理。運(yùn)行該命令,如下所示:

# last

root???? pts/3??????? :0.0???????????? Mon Feb 22 15:57?? still logged in

root???? pts/2??????? :0.0???????????? Mon Feb 22 15:57?? still logged in

root???? pts/1??????? :0.0???????????? Mon Feb 22 13:02?? still logged in

root???? :0??????????????????????????? Mon Feb 22 13:01?? still logged in

reboot?? system boot? 2.6.18-8.el5???? Mon Feb 22 12:56????????? (03:02)

root???? pts/2??????? :0.0???????????? Sun Feb 21 16:03 - down?? (02:37)

4、ac命令

ac命令根據(jù)當(dāng)前的/var/log/wtmp文件中的登錄進(jìn)入和退出來(lái)報(bào)告用戶(hù)連結(jié)的時(shí)間(小時(shí)),如果不使用標(biāo)志,則報(bào)告總的時(shí)間。例如:ac(回車(chē))顯示:total 18.47,如下所示:

# ac

total?????? 18.47

另外,可加一些參數(shù),例如,last -u 102將報(bào)告UID為102的用戶(hù);last -t 7表示限制上一周的報(bào)告。

5、lastlog命令

lastlog文件在每次有用戶(hù)登錄時(shí)被查詢(xún)??梢允褂胠astlog命令檢查某特定用戶(hù)上次登錄的時(shí)間,并格式化輸出上次登錄日志/var/log/lastlog的內(nèi)容。它根據(jù)UID排序顯示登錄名、端口號(hào)(tty)和上次登錄時(shí)間。如果一個(gè)用戶(hù)從未登錄過(guò),lastlog顯示**Never logged**。注意需要以root身份運(yùn)行該命令。

參考資料:《Linux如何學(xué)》,部分來(lái)源網(wǎng)絡(luò)

查看和打印日志的linux命令

Linux系統(tǒng)日志文件存放在/var/log下

/var/log/cron 記錄了系統(tǒng)定時(shí)任務(wù)相關(guān)的日志;

/var/log/cups 記錄打印信息的日志;

/var/log/dmesg 記錄了系統(tǒng)在開(kāi)機(jī)時(shí)內(nèi)核自檢的信息,也可以使用dmesg命令直接查看內(nèi)核自檢信息。

/var/log/btmp 記錄錯(cuò)誤登錄的日志,這個(gè)文件是二進(jìn)制文件,不能直接vi查看,而要使用lastb命令查看;

/var/log/lastlog 記錄系統(tǒng)中所有用戶(hù)最后一次的登錄時(shí)間的日志。這個(gè)文件也是二進(jìn)制文件,不能直接vi,而要使用lastlog命令查看。

/var/log/mailog 記錄郵件信息;

/var/log/message 記錄系統(tǒng)重要信息的日志,記錄Linux系統(tǒng)的絕大多數(shù)重要信息,如果系統(tǒng)出現(xiàn)問(wèn)題,首先要檢查的就是應(yīng)該是這個(gè)日志文件;

/var/log/secure 記錄驗(yàn)證和授權(quán)方面的信息,只要涉及賬戶(hù)和密碼的程序都會(huì)記錄。比如說(shuō)系統(tǒng)的登錄,ssh的登錄,su切換用戶(hù),sudo授權(quán),甚至添加用戶(hù)和修改用戶(hù)密碼;

/var/log/wtmp 永久記錄所有用戶(hù)的登錄、注銷(xiāo)信息,同時(shí)記錄系統(tǒng)的啟動(dòng)、重啟、關(guān)機(jī)事件。同樣這個(gè)文件也是一個(gè)二進(jìn)制文件不能直接vi而需要使用last命令來(lái)查看;

/var/run/utmp 記錄當(dāng)前已經(jīng)登錄的用戶(hù)的信息。這個(gè)文件會(huì)隨著用戶(hù)的登錄和注銷(xiāo)而不斷變化,只記錄當(dāng)前登錄用戶(hù)的信息,同樣這個(gè)文件不能直接vi,要使用w,who,users等命令;

Linux查看系統(tǒng)日志的一些常用命令

last

-a 把從何處登入系統(tǒng)的主機(jī)名稱(chēng)或ip地址,顯示在最后一行。

-d 指定記錄文件。指定記錄文件。將IP地址轉(zhuǎn)換成主機(jī)名稱(chēng)。

-f 記錄文件 指定記錄文件。

-n 顯示列數(shù)或-顯示列數(shù) 設(shè)置列出名單的顯示列數(shù)。

-R 不顯示登入系統(tǒng)的主機(jī)名稱(chēng)或IP地址。

-x 顯示系統(tǒng)關(guān)機(jī),重新開(kāi)機(jī),以及執(zhí)行等級(jí)的改變等信息

以下看所有的重啟、關(guān)機(jī)記錄

last | grep reboot

last | grep shutdown

history

列出所有的歷史記錄:

[zzs@Linux] # history

只列出最近10條記錄:

[zzs@linux] # history 10 (注,history和10中間有空格)

使用命令記錄號(hào)碼執(zhí)行命令,執(zhí)行歷史清單中的第99條命令

[zzs@linux] #!99 (!和99中間沒(méi)有空格)

重復(fù)執(zhí)行上一個(gè)命令

[zzs@linux] #!!

執(zhí)行最后一次以rpm開(kāi)頭的'命令(!? ?代表的是字符串,這個(gè)String可以隨便輸,Shell會(huì)從最后一條歷史命令向前搜索,最先匹配的一條命令將會(huì)得到執(zhí)行。)

[zzs@linux] #!rpm

逐屏列出所有的歷史記錄:

[zzs@linux]# history | more

立即清空history當(dāng)前所有歷史命令的記錄

[zzs@linux] #history -c

cat, tail 和 watch

系統(tǒng)所有的日志都在 /var/log 下面自己看(具體用途可以自己查,附錄列出一些常用的日志)

cat /var/log/syslog 等

cat /var/log/*.log

tail -f

如果日志在更新,如何實(shí)時(shí)查看 tail -f /var/log/messages

還可以使用 watch -d -n 1 cat /var/log/messages

-d表示高亮不同的地方,-n表示多少秒刷新一次。

該指令,不會(huì)直接返回命令行,而是實(shí)時(shí)打印日志文件中新增加的內(nèi)容,

這一特性,對(duì)于查看日志是非常有效的。如果想終止輸出,按 Ctrl+C 即可。

除此之外還有more, less ,dmesg|more,這里就不作一一列舉了,因?yàn)槊钐嗔?關(guān)鍵看個(gè)人喜好和業(yè)務(wù)需求.個(gè)人常用的就是以上那些

linux日志文件說(shuō)明

/var/log/message 系統(tǒng)啟動(dòng)后的信息和錯(cuò)誤日志,是Red Hat Linux中最常用的日志之一

/var/log/secure 與安全相關(guān)的日志信息

/var/log/maillog 與郵件相關(guān)的日志信息

/var/log/cron 與定時(shí)任務(wù)相關(guān)的日志信息

/var/log/spooler 與UUCP和news設(shè)備相關(guān)的日志信息

/var/log/boot.log 守護(hù)進(jìn)程啟動(dòng)和停止相關(guān)的日志消息

/var/log/wtmp 該日志文件永久記錄每個(gè)用戶(hù)登錄、注銷(xiāo)及系統(tǒng)的啟動(dòng)、停機(jī)的事件

linux查看日志的命令是?具體怎么用

tail -f 日志文件路徑主要用于查看實(shí)時(shí)的日志記錄,屬于動(dòng)態(tài)記錄查看。

cat日志路徑主要用于查看靜態(tài)的歷史日志記錄,一般跟路徑名稱(chēng),常見(jiàn)的這周類(lèi)型的日志記錄一般用管道符進(jìn)行過(guò)濾篩選自己所需的記錄。

dmesg主要用于調(diào)試腳本或者命令,出現(xiàn)異常中斷來(lái)排查錯(cuò)誤原因顯示的。

tail? -n? 10? test.log,查詢(xún)?nèi)罩疚膊孔詈?0行的日志。

tail -n +10 test.log,查詢(xún)10行之后的所有日志。

head -n 10? test.log,查詢(xún)?nèi)罩疚募械念^10行日志。

head -n -10? test.log,查詢(xún)?nèi)罩疚募俗詈?0行的其他所有日志。

操作命令

首先介紹一個(gè)名詞“控制臺(tái)(console)”,它就是我們通常見(jiàn)到的使用字符操作界面的人機(jī)接口,例如dos。我們說(shuō)控制臺(tái)命令,就是指通過(guò)字符界面輸入的可以操作系統(tǒng)的命令。

例如dos命令就是控制臺(tái)命令。要了解的是基于Linux操作系統(tǒng)的基本控制臺(tái)命令。有一點(diǎn)一定要注意,和dos命令不同的是,Linux的命令(也包括文件名等等)對(duì)大小寫(xiě)是敏感的,也就是說(shuō),如果你輸入的命令大小寫(xiě)不對(duì)的話,系統(tǒng)是不會(huì)做出你期望的響應(yīng)的。

Linux常見(jiàn)日志統(tǒng)計(jì)分析命令

在上文中,我們已經(jīng)詳細(xì)介紹 linux 三劍客的基本使用,接下來(lái)我們看看具體在性能測(cè)試領(lǐng)域的運(yùn)用,本文主要介紹的是在 Tomcat 和 Nginx access日志的統(tǒng)計(jì)分析。

server.xml 使用配置方式,%D-請(qǐng)求時(shí)間,%F-響應(yīng)時(shí)間

字段說(shuō)明如下:

日志樣例:

使用默認(rèn) combined 的經(jīng)典格式上擴(kuò)展 response_timeupstream_response_time

nginx.conf 使用配置方式:

字段說(shuō)明如下:

日志示例:

為了能理解 AWK 程序,我們下面概述其基本知識(shí)。

模式( pattern ) 用于匹配輸入中的每行文本。對(duì)于匹配上的每行文本,awk 都執(zhí)行對(duì)應(yīng)的 動(dòng)作( action )。模式和動(dòng)作之間使用花括號(hào)隔開(kāi)。awk 順序掃描每一行文本,并使用 記錄分隔符(一般是換行符)將讀到的每一行作為 記錄,使用 域分隔符( 一般是空格符或制表符 ) 將一行文本分割為多個(gè) 域, 每個(gè)域分別可以使用 2, … 表示。1 表示第一個(gè)域,表示第二個(gè)域,n 表示第 n 個(gè)域。 $0 表示整個(gè)記錄。模式或動(dòng)作都可以不指定,缺省模式的情況下,將匹配所有行。缺省動(dòng)作的情況下,將執(zhí)行動(dòng)作 {print},即打印整個(gè)記錄。

此處使用Nginx access.log 舉例,Tomcat 日志自己舉一反三。 使用 awk 分解出Nginx access日志中的信息

以此類(lèi)推…… 當(dāng)我們使用默認(rèn)的域分割符時(shí),我們可以從日志中解析出下面不同類(lèi)型的信息:

我們不難發(fā)現(xiàn),僅使用默認(rèn)的域分隔符,不方便解析出請(qǐng)求行、引用頁(yè)和瀏覽器類(lèi)型等其他信息,因?yàn)檫@些信息之中包含不確定個(gè)數(shù)的空格。 因此,我們需要把域分隔符修改為 “ ,就能夠輕松讀出這些信息。

注意:這里為了避免 Linux Shell 誤解 “ 為字符串開(kāi)始,我們使用了反斜杠,轉(zhuǎn)義了 “ 。 現(xiàn)在,我們已經(jīng)掌握了 awk 的基本知識(shí),以及它是怎樣解析日志的。

此處使用Nginx access.log 舉例,Tomcat 日志自己舉一反三。

如果我們想知道那些類(lèi)型的瀏覽器訪問(wèn)過(guò)網(wǎng)站,并按出現(xiàn)的次數(shù)倒序排列,我可以使用下面的命令:

此命令行首先解析出瀏覽器域,然后使用管道將輸出作為第一個(gè) sort 命令的輸入。第一個(gè) sort 命令主要是為了方便 uniq 命令統(tǒng)計(jì)出不同瀏覽器出現(xiàn)的次數(shù)。最后一個(gè) sort 命令將把之前的統(tǒng)計(jì)結(jié)果倒序排列并輸出。

我們可以使用下面的命令行,統(tǒng)計(jì)服務(wù)器返回的狀態(tài)碼,發(fā)現(xiàn)系統(tǒng)可能存在的問(wèn)題。

正常情況下,狀態(tài)碼 200 或 30x 應(yīng)該是出現(xiàn)次數(shù)最多的。40x 一般表示客戶(hù)端訪問(wèn)問(wèn)題。50x 一般表示服務(wù)器端問(wèn)題。 下面是一些常見(jiàn)的狀態(tài)碼:

HTTP 協(xié)議狀態(tài)碼定義可以參閱:

查找并顯示所有狀態(tài)碼為 404 的請(qǐng)求

統(tǒng)計(jì)所有狀態(tài)碼為 404 的請(qǐng)求

現(xiàn)在我們假設(shè)某個(gè)請(qǐng)求 ( 例如 : URI: /path/to/notfound ) 產(chǎn)生了大量的 404 錯(cuò)誤,我們可以通過(guò)下面的命令找到這個(gè)請(qǐng)求是來(lái)自于哪一個(gè)引用頁(yè),和來(lái)自于什么瀏覽器。

有時(shí)候會(huì)發(fā)現(xiàn)其他網(wǎng)站出于某種原因,在他們的網(wǎng)站上使用保存在自己網(wǎng)站上的圖片。如果您想知道究竟是誰(shuí)未經(jīng)授權(quán)使用自己網(wǎng)站上的圖片,我們可以使用下面的命令:

注意:使用前,將 修改為自己網(wǎng)站的域名。

統(tǒng)計(jì)共有多少個(gè)不同的 IP 訪問(wèn):

統(tǒng)計(jì)每一個(gè) IP 訪問(wèn)了多少個(gè)頁(yè)面:

將每個(gè) IP 訪問(wèn)的頁(yè)面數(shù)進(jìn)行從小到大排序:

統(tǒng)計(jì) 2018 年 8 月 31 日 14 時(shí)內(nèi)有多少 IP 訪問(wèn) :

統(tǒng)計(jì)訪問(wèn)最多的前十個(gè) IP 地址

查看某一個(gè) IP訪問(wèn)了哪些頁(yè)面:

統(tǒng)計(jì)某個(gè) IP 的詳細(xì)訪問(wèn)情況,按訪問(wèn)頻率排序

列出傳輸大小最大的幾個(gè)文件

列出輸出大于 204800 byte ( 200kb) 的頁(yè)面以及對(duì)應(yīng)頁(yè)面發(fā)生次數(shù)

列出訪問(wèn)最頻的頁(yè)面(TOP100)

列出訪問(wèn)最頻的頁(yè)面([排除php頁(yè)面】(TOP100)

列出頁(yè)面訪問(wèn)次數(shù)超過(guò)100次的頁(yè)面

列出最近1000條記錄,訪問(wèn)量最高的頁(yè)面

統(tǒng)計(jì)每分鐘的請(qǐng)求數(shù),top100的時(shí)間點(diǎn)(精確到分鐘)

統(tǒng)計(jì)每小時(shí)的請(qǐng)求數(shù),top100的時(shí)間點(diǎn)(精確到小時(shí))

統(tǒng)計(jì)每秒的請(qǐng)求數(shù),top100的時(shí)間點(diǎn)(精確到秒)

統(tǒng)計(jì)當(dāng)天的 pv

說(shuō)明:

可以使用下面的命令統(tǒng)計(jì)出所有響應(yīng)時(shí)間超過(guò) 3 秒的日志記錄。

注意:NF 是當(dāng)前記錄中域的個(gè)數(shù)。$NF 即最后一個(gè)域。

列出php頁(yè)面請(qǐng)求時(shí)間超過(guò)3秒的頁(yè)面,并統(tǒng)計(jì)其出現(xiàn)的次數(shù),顯示前100條

列出相應(yīng)時(shí)間超過(guò) 5 秒的請(qǐng)求,顯示前20條

統(tǒng)計(jì)蜘蛛抓取次數(shù)

統(tǒng)計(jì)蜘蛛抓取404的次數(shù)

通過(guò)本文的介紹,我相信同學(xué)們一定會(huì)發(fā)現(xiàn) linux三劍客強(qiáng)大之處。在命令行中,它還能夠接受,和執(zhí)行外部的 AWK 程序文件,可以對(duì)文本信息進(jìn)行非常復(fù)雜的處理,可以說(shuō)“只有想不到的,沒(méi)有它做不到的”。

網(wǎng)站標(biāo)題:linux寫(xiě)日志命令,linux操作日志命令
瀏覽路徑:http://muchs.cn/article30/hcjppo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、靜態(tài)網(wǎng)站、品牌網(wǎng)站設(shè)計(jì)、面包屑導(dǎo)航、網(wǎng)頁(yè)設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)