gpt4 book ai didi

linux - 当 rsyslogd 守护进程停止时,新的系统日志消息会发生什么?

转载 作者:太空狗 更新时间:2023-10-29 12:29:33 25 4
gpt4 key购买 nike

我试图在很多地方搜索这个,还有 openlog()、syslog(0、rsyslogd(8) 的文档/手册页,但找不到答案。

我的问题是,如果 rsyslogd 已停止或尚未启动,那么新的系统日志消息会丢失吗?或者 rsyslogd 在启用后稍后从/dev/log 获取它们?

我的测试是:

在一个正在运行的系统上,rsyslog 正在运行。现在,执行以下操作:

  1. logger -p local7.notice "my custom message1"
  2. grep 消息1 |/var/log/messages ----> 成功
  3. 停止 rsyslogd 进程
  4. logger -p local7.notice "My other custom message2"
  5. 现在,启动 rsyslogd 守护进程
  6. grep 消息2 |/var/log/messages ----> 失败

我从 openlog(3) 和 syslog(3) 手册页了解到,为/dev/log 文件打开了套接字,如果在将消息发送到 syslog 时出现错误(因为 rsyslogd 未运行),则连接已关闭(如果您使用了 LOG_CONS/LOG_PERROR,则消息将打印在控制台/stderror 上)。

谁能告诉我:

  1. 有没有什么方法可以让 rsyslogd 在 syslog 文件出现时获取所有这些消息?
  2. 如果不是默认情况下,是否有任何系统调用、命令等方法可以做到这一点??

提前谢谢你。

-新

最佳答案

默认情况下不会发生。不过,您可以使用“cat”命令并将其通过管道传输到记录器以获取它们。像下面这样的东西应该可以工作。

cat your.log | logger -n yourserver

您也可以使用类似于“cat”的“tail”命令。

关于linux - 当 rsyslogd 守护进程停止时,新的系统日志消息会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31934527/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com