我有一个单独的日志记录文件local7
,该文件是touch
ed 和
权限设置,从我的安装程序。但有时我发现日志没有被写入(在我重新安装之后),直到我这样做rsyslog restart
!
是否强制重新开始 rsyslog
日志文件是否touch
被另一个程序/应用程序编辑?
(由于安装程序运行为root
,日志文件的时间戳将由于以下原因而更改touch
- 这会导致rsyslog
不写入日志文件吗?)
答案1
rsyslogd 连续打开每个日志文件以进行写入,并且它不知道您已将文件从其下面拉出。安装程序删除的文件仍在磁盘上处于未链接状态,并且仍在写入中。您可以告诉 rsyslogd 重新打开所有日志文件,killall -HUP rsyslogd
而不是完全重新启动。
答案2
出于显而易见的原因,rsyslog 是一个严格设计的程序,遵循其配置。这是明确的。如果可以做你想做的事,那就会造成一个巨大的安全漏洞。