我有一个 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
。