正如您可能已經猜到的那樣,日誌文件為Linux操作系統 ,應用程序和服務提供了一個事件時間表。
這些文件以純文本形式存儲以便於閱讀。 本指南概述了在何處查找日誌文件,突出顯示了一些關鍵日誌並說明瞭如何閱讀它們。
你在哪裡可以找到Linux日誌文件
Linux日誌文件通常存儲在文件夾/ var / logs中。
該文件夾將包含大量文件,您可以獲取每個應用程序的信息。
例如,當ls命令在樣本/ var / logs文件夾中運行時,這裡有一些可用的日誌。
- kern.log
- auth.log
- BOOTSTRAP.LOG
- alternatives.log
- 桑巴
- 杯
- lightdm
該列表中的最後三個是文件夾,但他們在文件夾中有日誌文件。
由於日誌文件為純文本格式,因此可以通過鍵入以下命令來閱讀它們:
nano <日誌文件名>
以上命令在名為nano的編輯器中打開日誌文件。 如果日誌文件的大小很小,那麼可以在日誌文件和編輯器中打開日誌文件,但是如果日誌文件很大,那麼您可能只想讀取日誌的尾部。
使用tail命令可以讀取文件中的最後幾行,如下所示:
尾<日誌文件名>
您可以指定使用-n開關顯示的行數,如下所示:
tail -n <日誌文件名>
當然,如果你想看到文件的開始,你可以使用head命令 。
關鍵系統日誌
以下日誌文件是Linux中需要注意的主要文件。
- 授權日誌
- 守護進程日誌
- 調試日誌
- 內核日誌
- 系統日誌
授權日誌(auth.log)跟踪使用控制用戶訪問的授權系統。
守護進程日誌(daemon.log)跟踪執行重要任務的後台運行的服務。
守護進程往往沒有圖形輸出。
調試日誌為應用程序提供調試輸出。
內核日誌提供了有關Linux內核的詳細信息。
系統日誌包含有關係統的大部分信息,如果您的應用程序沒有自己的日誌,則條目可能會在此日誌文件中。
分析日誌文件的內容
上圖顯示了我的系統日誌文件(syslog)中最後50個文件的內容。
日誌中的每行包含以下信息:
- 日期
- 主機名
- 應用程序/服務
- 信息
例如,我的系統日誌文件中有一行如下所示:
jan 20 12:28:56 gary-virtualbox systemd [1]:啟動cups scheduler
這告訴你,杯子調度服務已於1月20日開始於12點28分。
旋轉日誌
日誌文件定期輪換,以免它們變得太大。
日誌旋轉實用程序負責旋轉日誌文件。 您可以知道日誌何時被旋轉,因為它後面會跟隨一個數字,例如auth.log.1,auth.log.2。
可以通過編輯文件/etc/logrotate.conf來更改日誌輪轉的頻率
以下顯示了我的logrotate.conf文件中的示例:
#rotate日誌文件
每週
#維護4週的日誌文件
旋轉4
旋轉後創建新的日誌文件
創建
正如您所看到的,這些日誌文件每週輪換一次,並且在任何時間點都保存四周的日誌文件。
當日誌文件旋轉時,會創建一個新文件。
每個應用程序都可以有自己的旋轉策略。 這顯然很有用,因為系統日誌文件將比杯子日誌文件增長得更快。
輪轉策略保存在/etc/logrotate.d中。 每個需要自己的旋轉策略的應用程序都會在該文件夾中有一個配置文件。
例如,apt工具在logrotate.d文件夾中有一個文件,如下所示:
/var/log/apt/history.log {
旋轉12
每月一次
壓縮
missingok
notifempty
}
基本上,這個日誌告訴你以下內容。 日誌將保存12週的日誌文件,並每月輪換一次(每月一次)。 日誌文件將被壓縮。 如果沒有消息寫入日誌(即它是空的),那麼這是可以接受的。 如果日誌為空,日誌將不會旋轉。
要修改文件的策略,請使用所需的設置編輯該文件,然後運行以下命令:
logrotate -f