每次我的日志文件翻转或轮换时,如何使用'newsyslog'来触发脚本?

时间:2013-12-04 12:39:07

标签: linux bash logging freebsd syslog

每当我的日志文件被翻转或轮换时,如何使用'newsyslog'来触发脚本?该脚本是一个解析器,它从日志中收集重要信息并将其存档。

在newsyslog.conf中使用path_to_pid_cmd_file是这样做的唯一方法吗?我对这种方法的问题是,这意味着我的解析器脚本需要始终在后台运行/休眠,我会发出信号。

我想知道是否有更清洁的方法来做到这一点?在旋转日志文件之前,应运行解析器脚本并将数据存档,之后解析器将死亡。每次旋转日志文件时都会发生这种情况。

我确实通过预旋转处理程序听说了'logrotate'这样的支持功能,但有一种方法可以通过'newsyslog''syslog'完成此操作。

1 个答案:

答案 0 :(得分:1)

遗憾的是,使用newsyslog无法做到这一点,而不是通过运行专用进程来接收信号。

logrotate是我在遇到newsyslog内置功能之外所做的功能最全面的软件包,但是如果你想要更简单,更DIY的东西,我会看看sysutils/wait_on实用程序使用kqueue查看更改。