我可以创建一个新的 syslog-ng file() 源并告诉 syslog-ng 忽略现有数据并仅处理新数据吗

我可以创建一个新的 syslog-ng file() 源并告诉 syslog-ng 忽略现有数据并仅处理新数据吗

我有大量现有数据存储在 NAS 上的文件中(存储在基于日期的分层目录中,但我认为这并不重要)。这些目录仍在被写入。

我已经创建了一个新的 syslog-ng file() 源来处理这些数据。但是,当我启动 syslog-ng 服务时,它会从头开始处理数据(回溯到几年前)。处理所有这些数据需要很长时间,而且无论如何都是无用的。

我希望 syslog-ng 仅处理添加到 NAS 目录中的新数据。将存储在 syslog-ng.persist 中的指针直接设置为文件末尾。这可能吗?

答案1

目前没有官方工具允许您编辑syslog-ng.persist文件。不过,快速查看 syslog-ng 的源代码会发现,编写自己的工具来完成这项工作并不难。如果是 syslog-ng 3.1 或更低版本,则需要花费更多精力,因为大多数代码都必须从源发行版中复制和粘贴。对于 3.2 及更高版本,重要代码包含在共享库和相应的头文件中,可供该工具使用。

相关内容