1. 程式人生 > >Linux入門進階第六天——登錄文件管理

Linux入門進階第六天——登錄文件管理

軟件 進行 linu str 更改 systemd wtmp tmp mes

一、概述

  1.什麽是登錄文件

簡單的說,就是記錄系統活動信息的幾個文件, 例如:何時、何地
(來源 IP)、何人 (什麽服務名稱)、做了什麽動作 (訊息登錄啰)。 換句話說就是:記
錄系統在什麽時候由哪個程序做了什麽樣的行為時,發生了何種的事件等等。

  2.常見登錄文件

/var/log/boot.log
開機的時候系統核心會去偵測與啟動硬件,接下來開始各種核心支持 的功能啟動等。這些流程都會記錄在
/var/log/boot.log 裏面哩! 不過這個文件只會存在 這次開機啟動的信息,前次開機的信息並不會被保留下來! /var/log/cron
還記得第十五章例行性工作調度吧?你的 crontab 調度有沒有實際被進 行? 進行過程有沒有發生錯誤?你的
/etc/crontab 是否撰寫正確?在這個登錄文件內查 詢看看。 /var/log/dmesg
記錄系統在開機的時候核心偵測過程所產生的各項信息。由於 CentOS 默認將開機時核心的硬件偵測過程取消顯示, 因此額外將數據記錄一份在這個文件中;
/var/log/lastlog
可以記錄系統上面所有的帳號最近一次登陸系統時的相關信息。第十三 章講到的 lastlog 指令就是利用這個文件的記錄信息來顯示的。
/var/log/maillog 或 /var/log/mail/ *
記錄郵件的往來信息,其實主要是記錄 postfix (SMTP 協定提供者) 與 dovecot (POP3 協定提供者) 所產生的訊息啦。 SMTP 是發 信所使用的通訊協定, POP3 則是收信使用的通訊協定。 postfix 與 dovecot 則分別是兩 套達成通訊協定的軟件。
/var/log/messages: 這個文件相當的重要,幾乎系統發生的錯誤訊息 (或者是重要的信 息) 都會記錄在這個文件中; 如果系統發生莫名的錯誤時,這個文件是一定要查閱的登 錄文件之一。 /var/log/secure:
基本上,只要牽涉到“需要輸入帳號密碼”的軟件,那麽當登陸時 (不管 登陸正確或錯誤) 都會被記錄在此文件中。 包括系統的
login 程序、圖形接口登陸所使 用的 gdm 程序、 su, sudo 等程序、還有網絡連線的 ssh, telnet 等程序, 登陸信息都會 被記載在這裏; /var/log/wtmp, /var/log/faillog:
這兩個文件可以記錄正確登陸系統者的帳號信息 (wtmp) 與錯誤登陸時所使用的帳號信息 (faillog) ! 我們在第十章談到的
last 就是 讀取 wtmp 來顯示的, 這對於追蹤一般帳號者的使用行為很有幫助! /var/log/httpd/, /var/log/samba/
不同的網絡服務會使用它們自己的登錄文件來記載它們 自己產生的各項訊息!上述的目錄內則是個別服務所制訂的登錄文件。

二、登錄文件管理

  CentOS 提供 rsyslog.service 這個服務來統一管理登錄文件喔!

  並且,登錄日誌過於龐大的問題可以通過 logrotate(登錄文件輪替) 這玩意兒來自動化處理登錄文件容量與更新的問題喔!

所謂的 logrotate 基本上,就是將舊的登錄文件更改名稱,然後創建一個空的登錄文件,如此
一來, 新的登錄文件將重新開始記錄,然後只要將舊的登錄文件留下一陣子,嗯!那就可以
達到將登錄文件“輪轉”的目的啦! 此外,如果舊的記錄 (大概要保存幾個月吧!) 保存了一
段時間沒有問題,那麽就可以讓系統自動的將他砍掉, 免得占掉很多寶貴的硬盤空間說!

  

總結一下,針對登錄文件所需的功能,我們需要的服務與程序有:
  systemd-journald.service:最主要的訊息收受者,由 systemd 提供的;
  rsyslog.service:主要登錄系統與網絡等服務的訊息;
  logrotate:主要在進行登錄文件的輪替功能。

  1.日誌格式

Linux入門進階第六天——登錄文件管理