如何使 rsyslogd 刷新其缓冲区
Posted
技术标签:
【中文标题】如何使 rsyslogd 刷新其缓冲区【英文标题】:How to make rsyslogd flush its buffers 【发布时间】:2016-06-08 00:43:42 【问题描述】:我在 Linux 上运行 rsyslogd 5.8.6。网络上的其他系统将其用作记录器。事件发生率非常低,并且经常会收到远程消息,但直到几分钟后才写入 /var/log/syslog 文件。
我有一个应用程序正在监视文件并在行可用时对其进行处理,我需要更快地响应传入的消息。
我可以想到两种方法:要么将 rsyslogd 配置为具有零大小的缓存缓冲区,要么在刷新其缓冲区之前设置 0.5 的最大延迟,或者使用一些 shell 命令告诉 rsyslogd“立即刷新缓冲区”。我也找不到怎么做。
【问题讨论】:
【参考方案1】:定时任务:
pkill -HUP rsyslogd
检查您的man rsyslogd
:
HUP 这让 rsyslogd 执行关闭所有打开的文件。
【讨论】:
以上是关于如何使 rsyslogd 刷新其缓冲区的主要内容,如果未能解决你的问题,请参考以下文章
当磁盘上的文件发生更改时,如何让 Emacs 自动刷新所有缓冲区?
使用 boost::serialization 时如何刷新文件缓冲区?