日誌作為普通的文復本文件存儲在磁製盤中,因此可以通過查看文件的命令來查看日誌。比如:通過tail命令查看日誌的最後10行,通過head命令查看命令的開頭10行。日誌文件的默認存儲路徑是:/var/log下面是幾個重要的日誌文件:/var/log/messages:包括整體系統信息,其中也包含系統啟動期間的日誌。此外,還包括mail,cron,daemon,kern和auth等內容。/var/log/syslog:它和/etc/log/messages日誌文件不同,它只記錄警告信息,常常是系統出問題的信息。/var/log/user.log:記錄所有等級用戶信息的日誌。/var/log/auth.log:包含系統授權信息,包括用戶登錄和使用的許可權機制等。要查看最新的10條系統消息就可以使用命令:tail/var/log/messages
2. 怎樣查看linux系統日誌
1、Linux下重要日誌文件介紹
/var/log/boot.log
該文件記錄了系統在引導過程中發生的事件,就是Linux系統開機自檢過程顯示的信息,如圖1所示:
圖1 /var/log/boot.log示意
/var/log/cron
該日誌文件記錄crontab守護進程crond所派生的子進程的動作,前面加上用戶、登錄時間和PID,以及派生出的進程的動作。CMD的一個動作是cron派生出一個調度進程的常見情況。REPLACE(替換)動作記錄用戶對它的cron文件的更新,該文件列出了要周期性執行的任務調度。RELOAD動作在REPLACE動作後不久發生,這意味著cron注意到一個用戶的cron文件被更新而cron需要把它重新裝入內存。該文件可能會查到一些反常的情況。該文件的示意請見圖2:
圖2 /var/log/cron文件示意
/var/log/maillog
該日誌文件記錄了每一個發送到系統或從系統發出的電子郵件的活動。它可以用來查看用戶使用哪個系統發送工具或把數據發送到哪個系統。圖3所示是該日誌文件的片段:
圖3 /var/log/maillog文件示意
該文件的格式是每一行包含日期、主機名、程序名,後面是包含PID或內核標識的方括弧、一個冒號和一個空格,最後是消息。該文件有一個不足,就是被記錄的入侵企圖和成功的入侵事件,被淹沒在大量的正常進程的記錄中。但該文件可以由/etc/syslog文件進行定製。由/etc/syslog.conf配置文件決定系統如何寫入/var/messages。
/var/log/syslog
默認Fedora不生成該日誌文件,但可以配置/etc/syslog.conf讓系統生成該日誌文件。它和/etc/log/messages日誌文件不同,它只記錄警告信息,常常是系統出問題的信息,所以更應該關注該文件。要讓系統生成該日誌文件,在/etc/syslog.conf文件中加上:*.warning /var/log/syslog 該日誌文件能記錄當用戶登錄時login記錄下的錯誤口令、Sendmail的問題、su命令執行失敗等信息。該日誌文件記錄最近成功登錄的事件和最後一次不成功的登錄事件,由login生成。在每次用戶登錄時被查詢,該文件是二進制文件,需要使用lastlog命令查看,根據UID排序顯示登錄名、埠號和上次登錄時間。如果某用戶從來沒有登錄過,就顯示為"**Never logged in**"。該命令只能以root許可權執行。簡單地輸入lastlog命令後就會看到類似圖4的信息:
圖4 lastlog命令的運行結果
/var/log/wtmp
該日誌文件永久記錄每個用戶登錄、注銷及系統的啟動、停機的事件。因此隨著系統正常運行時間的增加,該文件的大小也會越來越大,增加的速度取決於系統用戶登錄的次數。該日誌文件可以用來查看用戶的登錄記錄,last命令就通過訪問這個文件獲得這些信息,並以反序從後向前顯示用戶的登錄記錄,last也能根據用戶、終端tty或時間顯示相應的記錄。
/var/run/utmp
該日誌文件記錄有關當前登錄的每個用戶的信息。因此這個文件會隨著用戶登錄和注銷系統而不斷變化,它只保留當時聯機的用戶記錄,不會為用戶保留永久的記錄。系統中需要查詢當前用戶狀態的程序,如 who、w、users、finger等就需要訪問這個文件。該日誌文件並不能包括所有精確的信息,因為某些突發錯誤會終止用戶登錄會話,而系統沒有及時更新 utmp記錄,因此該日誌文件的記錄不是百分之百值得信賴的。
以上提及的3個文件(/var/log/wtmp、/var/run/utmp、/var/log/lastlog)是日誌子系統的關鍵文件,都記錄了用戶登錄的情況。這些文件的所有記錄都包含了時間戳。這些文件是按二進制保存的,故不能用less、cat之類的命令直接查看這些文件,而是需要使用相關命令通過這些文件而查看。其中,utmp和wtmp文件的數據結構是一樣的,而lastlog文件則使用另外的數據結構,關於它們的具體的數據結構可以使用man命令查詢。
每次有一個用戶登錄時,login程序在文件lastlog中查看用戶的UID。如果存在,則把用戶上次登錄、注銷時間和主機名寫到標准輸出中,然後login程序在lastlog中記錄新的登錄時間,打開utmp文件並插入用戶的utmp記錄。該記錄一直用到用戶登錄退出時刪除。utmp文件被各種命令使用,包括who、w、users和finger。
下一步,login程序打開文件wtmp附加用戶的utmp記錄。當用戶登錄退出時,具有更新時間戳的同一utmp記錄附加到文件中。wtmp文件被程序last使用。
/var/log/xferlog
該日誌文件記錄FTP會話,可以顯示出用戶向FTP伺服器或從伺服器拷貝了什麼文件。該文件會顯示用戶拷貝到伺服器上的用來入侵伺服器的惡意程序,以及該用戶拷貝了哪些文件供他使用。
該文件的格式為:第一個域是日期和時間,第二個域是下載文件所花費的秒數、遠程系統名稱、文件大小、本地路徑名、傳輸類型(a:ASCII,b:二進制)、與壓縮相關的標志或tar,或"_"(如果沒有壓縮的話)、傳輸方向(相對於伺服器而言:i代表進,o代表出)、訪問模式(a:匿名,g:輸入口令,r:真實用戶)、用戶名、服務名(通常是ftp)、認證方法(l:RFC931,或0),認證用戶的ID或"*"。圖5是該文件的部分顯示:
圖5 /var/log/xferlog文件示意
2、Linux日誌輸出查看方式
Linux下面提供了許多文本工具來查看和處理日誌文件,下面給讀者提供一些比較常見和有用的工具。
dmesg
使用dmesg命令可以快速查看最後一次系統引導的引導日誌。如圖6所示:
圖6 dmesg顯示結果
如上所示,通常它的內容會很多,所以我們往往使用如下命令以分頁的方式顯示引導信息,如圖7所示:
# dmesg | more
<img alt="dmesg" more命令顯示結果"="" src="http://up.2cto.com/2011/0819/20110819091103145.jpg" style="padding: 0px; margin: 0px auto; list-style: none; display: block; width: 482px; height: 365px;">
圖7 dmesg|more命令顯示結果
tail
tail命令設計用於顯示文本文件的最後幾行。使用-f開關,當日誌增加新的內容時,tail將繼續顯示新的輸出。如圖8所示:
# tar -f /var/log/messages
圖8 使用tail查看日誌
上面的命令將顯示/var/log/messages文件的最後6行,然後繼續監控那個文件,並輸出新的行為。要停止tail -f命令,使用[Ctrl + C]來中止進程。
more和less
more的工作方式與DOS版本相同。您可以將它指向一個文件,或者通過它以管道輸出信息,以分頁的方式來查看信息。例如,以分頁方式顯示maillog日誌文件的內容:
# more maillog
圖9 使用more查看日誌
然後,可以使用q或者[Ctrl+C]來停止查看文件。
less 是另一個文本閱讀器,不過它還允許在文件中滾動瀏覽以及檢索信息。如下所示:
# less /var/log/cron-20090830
圖9 使用less命令查看日誌
上面的命令將顯示/var/log/yum.log文件的內容,可以使用q來停止查看文件。
其他方式
Linux中的日誌文件對於系統的故障診斷和維護來說至關重要。許多諸如WWW、FTP、SMTP等網路應用服務的Linux日誌記錄都是記錄到專門指定的文本文件中(比如access.log,error.log等等),所以不需要專門的工具來查看這些文件。用戶可以選擇Vi、gEdit等簡單的文本編輯工具查看使用。
3. linux下的一個超大日誌文件有18G,用什麼工具能打開查看裡面的內容呀
cat,將內容一次性展來現。源18G的文件,估計展現後滾屏都得滾動幾分鍾,你只能看到最後一屏;
less,將內容分屏展現。用空格或pagedown翻頁,用pageup回滾到上一屏;
more,類似less,但只能向下翻屏,不能向上,看過的就沒法再回滾。
grep,過濾關鍵字,查詢你關心的包含關鍵字的行,可配合管道符加more或less
你還可以用上述命令加管道符加上sed命令獲取更詳細的內容。
4. linux中日誌文件存在哪裡
日誌文件通常保存在/var/log目錄下。
下面是幾個重要的日誌文件:
/var/log/messages:包括整體系統信息,其中也包含系統啟動期間的日誌。
/var/log/syslog:它和/etc/log/messages日誌文件不同,它只記錄警告信息,常常是系統出問題的信息。
/var/log/user.log:記錄所有等級用戶信息的日誌。/var/log/auth.log:包含系統授權信息,包括用戶登錄和使用的許可權機制等。
(4)linux大日誌文件擴展閱讀:
日誌文件分為事件日誌和消息日誌。
事件日誌
事件日誌記錄在系統的執行中發生的事件,以便提供可用於理解系統的活動和診斷問題的跟蹤。 它們對理解復雜系統的活動至關重要,特別是在用戶交互較少的應用程序中。
它還可以用於組合來自多個源的日誌文件條目。 這種方法與統計分析相結合,可以產生不同伺服器上看起來不相關的事件之間的相關性。 其他解決方案採用網路范圍的查詢和報告。
消息日誌
互聯網中繼聊天(IRC),即時消息(IM)程序,具有聊天功能的對等文件共享客戶端和多人游戲(特別是MMORPG)通常具有自動記錄(即保存)文本通信的能力。
消息日誌幾乎是通用的純文本文件,但是IM和VoIP客戶端(其支持文本聊天,例如Skype)可以將它們保存在HTML文件中或以自定義格式以便於閱讀和加密。
參考資料:網路——日誌文件
5. 怎麼設置linux系統日誌文件的大小
最簡單的方法,加到回cron中答
#!/bin/sh
cd /var/log/
mv logfile.2.gz logfile.3.gz
mv logfile.1.gz logfile.2.gz
mv logfile logfile.1
cat /dev/null >logfile
chmod 600
gzip logfile.1.gz