新聞中心
如何使用Linux按日期查看日志?

隨著計(jì)算機(jī)技術(shù)的發(fā)展,操作系統(tǒng)也越來越多樣化。其中,Linux系統(tǒng)由于其開源、穩(wěn)定、安全的特點(diǎn),被越來越多的人所青睞。作為一名Linux使用者,我們時(shí)常需要查看系統(tǒng)日志以便排除一些問題或者調(diào)試。本文將為大家介紹如何按日期查看Linux系統(tǒng)日志。
一、查看系統(tǒng)日志的基本命令
在Linux系統(tǒng)中,使用以下命令可以查看系統(tǒng)日志:
“`bash
$ dmesg # 查看內(nèi)核日志
$ tl -f /var/log/messages # 查看系統(tǒng)所有日志
$ tl -f /var/log/syslog # 查看系統(tǒng)日志
$ tl -f /var/log/auth.log # 查看認(rèn)證日志
$ tl -f /var/log/secure # 查看安全日志
$ journalctl # 查看systemd的日志
“`
使用以上命令可查看系統(tǒng)日志。但有時(shí)系統(tǒng)日志千奇百怪,我們需要查看某一特定日期的日志,就需要用到date命令。
二、date命令的使用
date命令是Linux中用來顯示和設(shè)置系統(tǒng)時(shí)間與日期的命令,使用簡(jiǎn)單,并且非常實(shí)用。下面是date命令的一些常見用法:
1. 顯示當(dāng)前日期和時(shí)間
“`bash
$ date
“`
該命令會(huì)顯示出當(dāng)前日期和時(shí)間,輸出格式如下所示:
“`bash
Sun May 16 15:28:20 CST 2023
“`
輸出結(jié)果從左到右分別是:星期幾、月份、日期、時(shí)間、時(shí)區(qū)和年份。
2. 顯示特定格式日期和時(shí)間
“`bash
$ date ‘+%Y-%m-%d %H:%M:%S’
“`
上述命令將當(dāng)前日期和時(shí)間以自定義的格式顯示出來,這個(gè)格式是「年-月-日 時(shí):分:秒」,如果需要其他格式可以根據(jù)需求進(jìn)行修改。
3. 根據(jù)特定格式獲取指定時(shí)間
“`bash
$ date -d “2023-05-16 15:00:00” “+%s”
“`
該命令將特定的時(shí)間格式化成秒數(shù),可以與日志文件中的時(shí)間戳進(jìn)行比較。
三、查看特定日期的日志
使用date命令獲取日期后,我們就可以對(duì)系統(tǒng)日志進(jìn)行過濾,只查詢特定日期的所有日志。下面我們來看看在Linux中查看特定日期的日志都有哪些命令。
1. grep命令
使用grep命令可以排除或者搜索日志文件。
“`bash
$ grep “May 16” /var/log/syslog
“`
該命令將過濾出/var/log/syslog文件中所有日期為May 16的日志。
2. sed命令
使用sed命令可以替換和刪除文件中的某些行。
“`bash
$ sed -n ‘/May 16/p’ /var/log/syslog
“`
該命令將只顯示/var/log/syslog文件中日期為May 16的日志。
3. awk命令
使用awk命令可以按照特定的分隔符分離文件中的行,處理后輸出特定格式的行。
“`bash
$ awk ‘/May 16/’ /var/log/syslog
“`
該命令將只顯示/var/log/syslog文件中日期為May 16的日志。
4. find命令
使用find命令可以找到符合條件的文件。
“`bash
$ find /var/log/ -name “*May 16*”
“`
該命令將查找/var/log/目錄下所有名字中包含May 16的文件。
四、
Linux是一門強(qiáng)大的操作系統(tǒng),對(duì)于系統(tǒng)管理員,查看日志是非常重要的事情,能有效幫助他們排除故障。本文介紹了如何使用date命令來查詢指定日期的日志,并且提供了幾個(gè)常用的命令,可以幫助大家更快地找到自己需要的日志。在實(shí)際應(yīng)用中,可以根據(jù)實(shí)際需求來選擇相應(yīng)的命令,如此便可高效地查看日志,從而更好地保障系統(tǒng)的穩(wěn)定性。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián),建站經(jīng)驗(yàn)豐富以策略為先導(dǎo)10多年以來專注數(shù)字化網(wǎng)站建設(shè),提供企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),響應(yīng)式網(wǎng)站制作,設(shè)計(jì)師量身打造品牌風(fēng)格,熱線:028-86922220怎樣查看linux系統(tǒng)日志
1、Linux下重要日志文件介紹
/var/log/boot.log
該文件記錄了系統(tǒng)在引導(dǎo)過程中發(fā)生的事件,就是Linux系統(tǒng)開機(jī)自檢過程顯示的信息,如圖1所示:
圖1 /var/log/boot.log示意
/var/log/cron
該日志文件記錄crontab守護(hù)進(jìn)程crond所派生的子進(jìn)程的動(dòng)作,前面加上用戶、登錄時(shí)間和PID,以及派生出的進(jìn)程的動(dòng)作。CMD的一個(gè)動(dòng)作是cron派生出一個(gè)調(diào)度進(jìn)程的常見情況。REPLACE(替換)動(dòng)作記錄用戶對(duì)它的cron文件的更新,該文件列出了要周期性執(zhí)行的任務(wù)調(diào)度。RELOAD動(dòng)作在REPLACE動(dòng)作后不久發(fā)生,這意味著cron注意到一個(gè)用戶的cron文件被更新而cron需要把它重新裝入內(nèi)存。該文件可能會(huì)查到一些反常的情況。該文件的示意請(qǐng)見圖2:
圖2 /var/log/cron文件示意
/var/log/maillog
該日志文件記錄了每一個(gè)發(fā)送到系統(tǒng)或從系統(tǒng)發(fā)出的電子郵件的活動(dòng)。它可以用來查看用戶使用哪個(gè)系統(tǒng)發(fā)送工具或把數(shù)據(jù)發(fā)送到哪個(gè)系統(tǒng)。圖3所示是該日志文件的片段:
圖3 /var/log/maillog文件示意
該拿運(yùn)慎文件的格式是每一行包含日期、主機(jī)名、程序名,后面是包含PID或內(nèi)核標(biāo)識(shí)的方括號(hào)、一個(gè)冒號(hào)和一個(gè)空格,最后是消息。該文件有一個(gè)不足,就是被記錄的入侵企圖和成功的入侵事件,被淹沒在大量的正常進(jìn)程的記錄中。但該文件可以由/etc/syslog文件進(jìn)行定制。由/etc/syslog.conf配置文件決定系統(tǒng)如何寫入/var/messages。
/var/log/syslog
默認(rèn)Fedora不生成該日志文件,但可以配置/etc/syslog.conf讓系統(tǒng)生成該日志文件。它和/etc/log/messages日志文件不同,它只記錄警告信息,常常是系統(tǒng)出問題的信息,所以更應(yīng)該關(guān)注該文件。要讓系統(tǒng)生成該日志文件,在/etc/syslog.conf文件中加上:*.warning /悄核var/log/syslog 該日志文件能記錄當(dāng)用戶登錄時(shí)login記錄下的錯(cuò)誤口令、Sendmail的問題、su命令執(zhí)行失敗等信息。該日志文件記錄最近成功登錄的事件和最后一次不成功的登錄事件,由login生成。在每次用戶登錄時(shí)被查詢,該文件是二進(jìn)制文件,需要使用lastlog命令查看,根據(jù)UID排序顯示登錄名、端口號(hào)和上次登錄時(shí)間。如果某用戶從來沒有登錄過,就顯示為”**Never logged in**”。該命令只能以root權(quán)限執(zhí)行。簡(jiǎn)單地輸入lastlog命令后就會(huì)看到類似圖4的信息:
圖4 lastlog命令的運(yùn)行結(jié)果
/var/log/wtmp
該日志文件永久記錄每個(gè)用戶登錄、注銷及系統(tǒng)的啟動(dòng)、停機(jī)的事件。因此隨著系統(tǒng)正常運(yùn)行時(shí)間的增加,該文件的大小也會(huì)越來越大,增加的速度取決于系統(tǒng)用戶登錄的次數(shù)。該日志文件可以用來查看用戶的登錄記錄,last命令就通過訪問這個(gè)文件獲得這些信息,并以反序從后向前顯示用戶的登錄記錄,last也能根據(jù)用戶、終端tty或時(shí)間顯示相應(yīng)的記錄。
/var/run/utmp
該日志文件記錄有關(guān)當(dāng)前登錄的每個(gè)用戶的信息。因此這個(gè)文件會(huì)隨著用戶登錄和注銷系統(tǒng)而不斷變化,它只保留當(dāng)時(shí)聯(lián)機(jī)的用戶記錄,不會(huì)為用戶保留永久的記錄。系統(tǒng)中需要查詢當(dāng)前用戶狀態(tài)的程序,如 who、w、users、finger等就需要訪問這個(gè)文件。該日志文件并不能包括所有精確的信息,因?yàn)槟承┩话l(fā)錯(cuò)誤會(huì)終止用戶登錄會(huì)話,而系統(tǒng)沒有及時(shí)更新 utmp記錄,因此該日志文件的記錄不是百分之百值得信賴的。
以上提及的3個(gè)文件(/var/log/wtmp、/var/run/utmp、/var/log/lastlog)是日志子系統(tǒng)的關(guān)鍵文件,都記錄了用戶登錄的情況。這些文件的所有記錄都包含了時(shí)間戳。這些文件是按二進(jìn)制保存的,故不能用less、cat之類的命令直接查看這些文件,而是需要使用相關(guān)命令通過這些文件而查看。其中,utmp和wtmp文件的數(shù)據(jù)結(jié)構(gòu)是一樣的,而lastlog文件則使用另外的數(shù)據(jù)結(jié)構(gòu),關(guān)于它們的具體的數(shù)據(jù)結(jié)構(gòu)可以使用man命令查詢。
每次有一個(gè)用戶登錄時(shí),login程序在文件lastlog中查看用戶的UID。如果存在,則把用戶上次登錄、注銷時(shí)間和主機(jī)名寫到標(biāo)準(zhǔn)輸出中,然后login程序在lastlog中記錄新的登錄時(shí)間,打開utmp文件并插入用戶的utmp記錄。該記錄一直用到用戶登錄退出時(shí)刪除。utmp文件被各種命令使用,消敬包括who、w、users和finger。
下一步,login程序打開文件wtmp附加用戶的utmp記錄。當(dāng)用戶登錄退出時(shí),具有更新時(shí)間戳的同一utmp記錄附加到文件中。wtmp文件被程序last使用。
/var/log/xferlog
該日志文件記錄FTP會(huì)話,可以顯示出用戶向FTP服務(wù)器或從服務(wù)器拷貝了什么文件。該文件會(huì)顯示用戶拷貝到服務(wù)器上的用來入侵服務(wù)器的惡意程序,以及該用戶拷貝了哪些文件供他使用。
該文件的格式為:之一個(gè)域是日期和時(shí)間,第二個(gè)域是下載文件所花費(fèi)的秒數(shù)、遠(yuǎn)程系統(tǒng)名稱、文件大小、本地路徑名、傳輸類型(a:ASCII,b:二進(jìn)制)、與壓縮相關(guān)的標(biāo)志或tar,或”_”(如果沒有壓縮的話)、傳輸方向(相對(duì)于服務(wù)器而言:i代表進(jìn),o代表出)、訪問模式(a:匿名,g:輸入口令,r:真實(shí)用戶)、用戶名、服務(wù)名(通常是ftp)、認(rèn)證方法(l:RFC931,或0),認(rèn)證用戶的ID或”*”。圖5是該文件的部分顯示:
圖5 /var/log/xferlog文件示意
2、Linux日志輸出查看方式
Linux下面提供了許多文本工具來查看和處理日志文件,下面給讀者提供一些比較常見和有用的工具。
dmesg
使用dmesg命令可以快速查看最后一次系統(tǒng)引導(dǎo)的引導(dǎo)日志。如圖6所示:
圖6 dmesg顯示結(jié)果
如上所示,通常它的內(nèi)容會(huì)很多,所以我們往往使用如下命令以分頁(yè)的方式顯示引導(dǎo)信息,如圖7所示:
# dmesg | more
http://fisionsoft.com.cn/article/cdjidcp.html


咨詢
建站咨詢
