当rsyslogd守护程序停止时,新的syslog消息会发生什么?

时间:2015-08-11 06:18:01

标签: linux logging rsyslog

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

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

我的测试是:

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

  1. logger -p local7.notice"我的自定义消息1"
  2. grep message1 | / var / log / messages ---->成功
  3. 停止rsyslogd进程
  4. logger -p local7.notice"我的其他自定义消息2"
  5. 现在,启动rsyslogd守护程序
  6. grep message2 | / var / log / messages ----> FAIL
  7. 我从openlog(3)和syslog(3)手册页了解到为/ dev / log文件打开了套接字,如果在向syslog发送消息时出错(因为rsyslogd没有运行),那么连接关闭(如果您使用了LOG_CONS / LOG_PERROR,则在console / stderror上打印消息。)

    请有人告诉我:

    1. 当它出现时,是否有任何方式rsyslogd可以在syslog文件中找到所有这些消息?
    2. 如果不是默认情况下,是否有任何系统调用,命令等等等?
    3. 提前谢谢。

      -Neo

1 个答案:

答案 0 :(得分:1)

默认情况下不会发生这种情况。但是,您可以使用'cat'命令将其传递给记录器以使其进入。以下内容应该有效。

cat your.log | logger -n yourserver

你也可以像'cat'一样使用'tail'命令。