我在 Centos 6 上运行 syslog-ng pe 4 lts。Syslog 正在递归本地网络日志目录并将其移动到 NAS。我们看到一些旧的日志行显示在当前日期的 NAS 上。例如,时间戳为 02/10/2015 的日志行将显示在 NAS 上的一个日期为今天的文件中。我相信问题出在 syslog-ng.persist 文件上。如果我使用字符串“打开”它,我会看到其中有数百个来自 10 月的文件条目。由于我们没有使用版本 5(并且不再订阅 Balabit),我们没有现在允许您操作此文件的 persist-tool。
我有两个问题:1. 如果我只是删除此文件(在停止 syslog-ng 之后),syslog 会在启动时重新创建它吗?我知道我必须事先清理相关目录,否则我最终会陷入同样的困境。
- 如果 syslog 没有创建它 — — 我认为我不能简单地触摸一个新的,因为文件命令说它是文件类型“数据” — — 是否有人知道除了 persist-tool 之外的另一种方法来操作这个文件?
谢谢。
答案1
是的,syslog-ng 将重新创建持久文件。但是,持久文件存储了从源文件中读取的下一条消息的位置,这意味着 syslog-ng 会认为您的所有日志文件都是新的,并将所有消息重新发送到您的 NAS。
syslog-ng 的新版本有一个名为 read-old-records() 的选项,可以防止这种行为。
问候,罗伯特·费凯特