Linux
應該(以及如何)使用 logger(1) 將非關鍵日誌發送到 /var/log/messages?
我有一個 cron 腳本通過
| logger …
.
- 我理解這
/var/log/syslog
主要用於關鍵或錯誤消息,並且/var/log/messages
用於資訊性、非關鍵消息。- 如果前面是真的(我可能弄錯了),我不確定如何只將不重要的、平凡的消息記錄到 JUST
/var/log/messages
?-p
我嘗試使用記錄器記錄的所有(優先級)參數都記錄到兩者或都不記錄。我在這裡錯過了一些簡單的東西嗎?
我不知道您從哪裡得到
/var/log/syslog
僅針對關鍵/錯誤消息的想法,也許在某些發行版上確實如此,但對於 Debian 和衍生髮行版並非如此。Debian 政策對如何使用各種 syslog 設施(以及什麼樣的程序應該使用哪些設施)有具體的指導方針,並且比某些發行版更精確和專注地使用它們。無論如何,您需要查看目標機器上的 syslog 配置,以準確找出特定文件中記錄了哪些類型的日誌消息。
例如,在標準 Debian 安裝中,
/etc/rsyslog.conf
具有以下內容/var/log/syslog
:*.*;auth,authpriv.none -/var/log/syslog
即一切,但設施
auth
和authpriv
。和
/var/log/messages
:*.=info;*.=notice;*.=warn;\ auth,authpriv.none;\ cron,daemon.none;\ mail.none -/var/log/messages
簡而言之,在 Debian 和衍生產品上,/var/log/syslog 是幾乎所有東西的垃圾場(除了與身份驗證相關的東西),而 /var/log/messages 用於提供除身份驗證之外的所有東西的資訊、通知和警告消息, cron、守護程序和郵件的東西。
Syslog 設施
cron
,daemon
或者user
可能更適合您的需要,它們在 Debian 中使用以下規則定義:#cron.* /var/log/cron.log daemon.* -/var/log/daemon.log user.* -/var/log/user.log
(我不記得
cron.log
預設情況下是否被註釋掉了,或者我自己是否這樣做了。我認為這是預設情況下,可能是因為 cron.log 否則會變得非常嘈雜)我沒有太多使用 Raspbian,但我想 Raspbian 可能與
rsyslog.conf
Debian 相同或非常相似。