![是否应该(以及如何)使用 logger(1) 将非关键日志发送到 /var/log/messages?](https://linux22.com/image/198108/%E6%98%AF%E5%90%A6%E5%BA%94%E8%AF%A5%EF%BC%88%E4%BB%A5%E5%8F%8A%E5%A6%82%E4%BD%95%EF%BC%89%E4%BD%BF%E7%94%A8%20logger(1)%20%E5%B0%86%E9%9D%9E%E5%85%B3%E9%94%AE%E6%97%A5%E5%BF%97%E5%8F%91%E9%80%81%E5%88%B0%20%2Fvar%2Flog%2Fmessages%EF%BC%9F.png)
我有一个 cron 脚本通过 记录消息| logger …
。
据我了解,这
/var/log/syslog
主要针对关键或错误消息,并且/var/log/messages
针对信息性、非关键消息。如果前面的内容是正确的(我可能是错的),我不确定如何仅将不重要的、平凡的消息记录到 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 工具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 可能与 Debian 相同或非常相似rsyslog.conf
。