Linux 日誌系統
linux日誌系統:(syslog)
用於記錄各子系統運行產生的各種信息
如果要手動啓動,可以使用命令:
#/sbin/syslogd
Syslog服務:
Syslod: 系統, 非內核產生的信息
Klogd: 內核,專門負責記錄內核產生的日誌信息,#cat /var/log/dmesg
默認配置的syslog日誌
/var./log/message 系統啓動後的信息和錯誤日誌,非內核產生的引導信息
/var/log/maillog 郵件系統產生的日誌信息
/var/log/secure 與安全相關的日誌信息
日誌需要滾動(也被成爲日誌切割 logrotate)
目的是爲了防止日誌文件過大導致日誌信息分析不便,
Syslog的配置文件在 /etc.syslog.conf
指定了syslog記錄日誌的信息來源, 信息類型 級別和位置
圖片說明
該文件以“#”爲註釋符, 每一行的語法格式爲:
【消息來源,消息級別】 【動作】
同一行中允許出現多個【消息來源,消息級別】,但必須要使用分號“;”進行分隔,
例子: mail.*;cron.p* /var/log/test.log
Syslog消息來源及說明
auth # 認證相關的 authpriv # 權限,授權相關的
cron # 任務計劃相關的 daemon # 守護進程相關的
kern # 內核相關的 lpr # 打印相關的
mail # 郵件相關的 mark # 標記相關的
news # 新聞相關的 security # 安全相關的,與auth 類似
syslog # syslog自己的 user # 用戶相關的
uucp # unix to unix cp 相關的 local0 到 local7 # 用戶自定義使用
* # *表示所有的facility
優先級代表消息的緊急程度,一般有以下幾種級別(從低到高
debug # 程序或系統的調試信息 info # 一般信息
notice # 不影響正常功能,需要注意的消息
warning/warn # 可能影響系統功能,需要提醒用戶的重要事件
err/error # 錯誤信息
crit # 比較嚴重的
alert # 必須馬上處理的
emerg/panic # 會導致系統不可用的
* # 表示所有的日誌級別
none # 忽略所有消息
【動作】是用於指定消息的處理方式,支持把消息保存在日誌文件中,發給指定用戶等
以下是syslog的動作說明
系統上的絕對路徑 # 普通文件 如: /var/log/xxx
| 程 # 管道 通過管道送給其他的命令處理
終端 # 終端 如:/dev/console
@HOST # 遠程主機 如: @10.0.0.1
用戶名列表 # 發送給指定用戶,用戶名用“,”隔開
* # 把消息發到所有用戶的終端上
清空日誌信息的命令是
#echo > 日誌文件
例子:要清空/var/log/message下的日誌文件內容
命令 #echo > /var/log/message