Linux下如果/var/log/messages停止寫入內容了,如何重新啟動syslogd .

tolywang發表於2007-09-29

# cd /etc/init.d

# ./syslog restart

Shutting down kernel logger: OK ]
Shutting down system logger: OK ]
Starting system logger: OK ]
Starting kernel logger: OK ]

不過最好查詢清楚是為什麼不能寫入linux os log的 ?


--------------------------------------------------------------


日誌功能

日誌(log)功能用於將路由器產生的各種資訊以日誌形式記錄到具備syslog功能的主機上(如unix主機)。

該功能的預設形式是將資訊顯示在連線console口的終端上。

一、syslog功能簡介

1、unix主機用syslogd記錄系統資訊,資訊來源包括:

1)系統核心產生系統資訊

2)fifo管道記錄內部程式通訊的資訊

3)程式將資訊透過socket連線寫入到log裝置中

4)遠端主機透過某種連線將資訊輸入

其中,第3項與本路由器syslog功能有關。

2、unix將系統資訊以某種形式分類或分級,該形式可理解為:

facility.level

facility代表產生資訊的來源,常用的有以下幾項:

auth 使用者身份認證資訊

authpriv 使用者許可權認證資訊

cron cron資訊

daemon daemon程式產生的資訊

kern 核心資訊

local0~7 系統留用

lpr 列印佇列產生的資訊

mail 郵件系統資訊

news news系統資訊

user 使用者程式產生資訊

uucp 與uucp有關的資訊

syslog syslogd自身資訊

level 是資訊的級別,代表著子系統對該級別或該級別以上的資訊所要採取的措施,常用的有8項

emerg 系統失效,級別最高

alert 需立即修補

crit 情況嚴重,如硬體損壞

err 錯誤

warning 警告

notice 需加以注意,但無關緊要

info 普通訊息

debug debug資訊

二、config狀態下log的配置

logging命令有如下命令選項

buffered - 將日誌記錄於內部緩衝區

clear - 清除內部日誌

console [ * ] - 將日誌記錄於終端

facility - 設定syslog的用途

source-interface- 設定syslog報文的源地址

trap - 設定日誌記錄的門限

a.b.c.d - 將日誌記錄於支援syslog的主機

其中,logging console是預設配置。

1、 logging buffered

將日誌記錄於內部buffer中,利用show logging命令可以顯示buffer中的log資訊。

2、 logging clear

logging buffered的相關命令,用於清除buffer中的log資訊。

3、 logging console

預設配置為將日誌資訊顯示於監控終端。

相關命令見terminal monitor enable/disable

4、 logging facility

logging facility ftp 在linux主機中將日誌資訊的facility標記為ftp

logging facility nnn(0-255) 從0開始,依次對應於前面各項,其餘留用

其它命令選項參見syslog功能簡介

5、logging source-interface

設定source-interface 為log資訊報文的源發地址

6、 logging trap

門限設定參見syslog功能簡介

一般說來,log資訊下列幾大類

err 標記軟體錯誤資訊或硬體故障資訊

notice 標記埠up/down的變化

info 標記系統重啟資訊、包過濾報文記錄

debug 標記debug資訊

warning 標記使用者驗證失效和被包過濾禁止的報文記錄

nnn(0-7) 依次對應於前面各項,級別最高為0,最低為7

在設定一個級別之後,日誌將記錄該級別和該級別之上的log資訊。

7、 logging a.b.c.d

將ip為a.b.c.d的主機作為syslog主機

三、相關命令

1、 terminal monitor enable/disable

預設狀態下為logging console時,日誌資訊(包括debug資訊)只能在監控視窗顯示,虛擬終端不能顯示,要使在虛擬終端顯示log資訊,只需在config狀態下鍵入:

terminal monitor enable

反之,設terminal monitor disable

2、防火牆列表中,每個列表都可以記log資訊

:如:per add ip 2.2.2.2 255.0.0.0 1.1.1.1 255.0.0.0 log

3、 show logging

顯示記錄於buffer中的log資訊

==========================================================

系統執行日誌:

ALinux 日誌儲存在 /var/log 目錄中。這裡有幾個由系統維護的日誌檔案,但其他服務和程式也可能會把它們的日誌放在這裡。大多數日誌只有 root 才可以讀,不過只需要修改檔案的訪問許可權就可以讓其他人可讀。

以下是常用的系統日誌檔名稱及其描述:

lastlog 記錄使用者最後一次成功登入時間

loginlog 不良的登陸嘗試記錄

messages 記錄輸出到系統主控臺以及由syslog系統服務程式產生的訊息

utmp 記錄當前登入的每個使用者

utmpx 擴充套件的utmp

wtmp 記錄每一次使用者登入和登出的歷史資訊 wtmpx 擴充套件的wtmp

vold.log 記錄使用外部介質出現的錯誤

xferkig 記錄Ftp的存取情況 sulog 記錄su命令的使用情況

acct 記錄每個使用者使用過的命令

aculog 撥出自動呼叫記錄

/var/log/messages
messages
日誌是核心系統日誌檔案。它包含了系統啟動時的引導訊息,以及系統執行時的其他狀態訊息。IO 錯誤、網路錯誤和其他系統錯誤都會記錄到這個檔案中。其他資訊,比如某個人的身份切換為 root,也在這裡列出。如果服務正在執行,比如 DHCP 伺服器,您可以在 messages 檔案中觀察它的活動。通常,/var/log/messages 是您在做故障診斷時首先要檢視的檔案。

/var/log/XFree86.0.log這個日誌記錄的是 Xfree86 Xwindows 伺服器最後一次執行的結果。如果您在啟動到圖形模式時遇到了問題,一般情況從這個檔案中會找到失敗的原因。

D/var/log 目錄下有一些檔案以一個數字結尾,這些是已輪循的歸檔檔案。日誌檔案會變得特別大,特別笨重。Linux 提供了一個命令來輪循這些日誌,以使您的當前日誌資訊不會淹沒在舊的無關資訊之中。 logrotate 通常是定時自動執行的,但是也可以手工執行。當執行後,logrotate 將取得當前版本的日誌檔案,然後在這個檔名最後附加一個“.1”。其他更早輪循的檔案為“.2”“.3”,依次類推。檔名後的數字越大,日誌就越老。

可以透過編輯 /etc/logrotate.conf 檔案來配置 logrotate 的自動行為。透過 man logrotate 來學習 logrotate 的全部細節。

其中:

# rotate log files weekly

weekly

這裡代表每個日誌檔案是每個星期迴圈一次,一個日誌檔案儲存一個星期的內容。

# keep 4 weeks worth of backlogs

rotate 4

這裡代表日誌迴圈的次數是4次,即可以儲存4個日誌檔案。

E、

可以透過編輯 /et/syslog.conf /etc/sysconfig/syslog 來配置它們的行為,可以定製系統日誌的存放路徑和日誌產生級別。

last

單獨執行last指令,它會讀取位於/var/log目錄下,名稱為wtmp的檔案,並把該給檔案的內容記錄的登入系統的使用者名稱單全部顯示出來。

history

history命令能夠儲存最近所執行的命令。如果是root命令所儲存的命令內容在/root/.bash_history檔案中,如果是普通使用者,操作所命令儲存在這個使用者的所屬目錄下,即一般的/home/username/.bash_history。這個history的儲存值可以設定,編輯/etc/profile檔案,其中的HISTSIZE=1000的值就是history儲存的值。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-84923/,如需轉載,請註明出處,否則將追究法律責任。

相關文章