Oth*_*eus 11 systemd-journald rsyslogd
在 RHEL7 上,systemd-journald接管了许多曾经由rsyslogd. 无论是由于 bug 还是这两个守护进程之间的冲突,有时/dev/log都会丢失。因此,依赖syslog(3)调用的程序将无法正常运行,例如,包括logger. 如何恢复/dev/log插座?
Oth*_*eus 16
问和回答我自己的问题,因为谷歌在这个问题上不是很有帮助。
通常,使用rsyslogd,imuxsock模块将/dev/log自己创建套接字,在创建之前取消链接前一个条目。当rsyslogd停止时(可能是因为配置错误导致重启失败),rsyslogd 删除 /dev/log.
但是,提供的 rsyslogRHEL7预计将与 一起使用systemd,并且该imuxsock模块将实际打开和删除/run/systemd/journal/syslog套接字。同时,该/dev/log设备由systemd-journald.socket触发的系统服务文件创建journald。
显然,无论是否$imjournal使用模块,以下都是有效的。
总之,如果/dev/log消失:
重启 systemd-journald.socket:
systemctl restart systemd-journald.socket
Run Code Online (Sandbox Code Playgroud)然后重新启动 rsyslogd
systemctl start rsyslogd
Run Code Online (Sandbox Code Playgroud)更新:restart rsyslogd如果rsyslogd已经在运行,我相信可能会重新删除套接字。
小智 5
该systemctl restart systemd-journald.socket && systemctl restart rsyslog解决方案在 Ubuntu 16.04 上对我不起作用。
相反,我必须重新创建/dev/log以下符号链接/run/systemd/journal/dev-log:
ln -s /run/systemd/journal/dev-log /dev/log
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19188 次 |
| 最近记录: |