是否应该(以及如何)使用 logger(1) 将非关键日志发送到 /var/log/messages?

是否应该(以及如何)使用 logger(1) 将非关键日志发送到 /var/log/messages?

我有一个 cron 脚本通过 记录消息| logger …

  1. 据我了解,这/var/log/syslog主要针对关键或错误消息,并且/var/log/messages针对信息性、非关键消息。

  2. 如果前面的内容是正确的(我可能是错的),我不确定如何仅将不重要的、平凡的消息记录到 JUST /var/log/messages-p我尝试使用记录器记录的所有(优先级)参数都记录到或不记录。我在这里缺少一些简单的东西吗?

答案1

我不知道您从哪里得到了/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 是几乎所有内容的垃圾场(与 auth 相关的内容除外),而 /var/log/messages 是除 auth 之外的所有内容的信息、通知和警告消息, cron、守护进程和邮件等。

Syslog 工具crondaemon或者user可能更适合您的需求,它们在 Debian 中使用以下规则定义:

#cron.*             /var/log/cron.log
daemon.*            -/var/log/daemon.log
user.*              -/var/log/user.log

(我不记得是否cron.log默认注释掉,或者我自己是否这样做。我认为这是默认情况,可能是因为 cron.log 否则会变得非常嘈杂)

我没怎么用过 Raspbian,但我想 Raspbian 可能与 Debian 相同或非常相似rsyslog.conf

相关内容