有没有更好的方法来监控使用inotify的文件日志更改? (http://linux.die.net/man/7/inotify)。我有几个软件写入不同的日志文件,我想在每次将新行添加到日志时进行POST查询。
目前,我的建议是将inotify设置为侦听文件更改,获取自上次访问后更改的数据并发布。
重要的事情: 对事件的反应(至少1秒)。 低CPU和HDD消耗。 保留日志文件(即我希望它在机器上完整,未经修改)。
新线在1分钟内添加一次。
感谢您的想法。
答案 0 :(得分:0)
Inotify可以获得有关文件事件(如写作等)的通知,但您如何知道已添加了多少数据?如果您事先知道日志文件,那么您也可以阅读直到文件结尾并暂时休眠并再次尝试阅读(类似“tail -f”的内容)。这样你仍然可以指向你开始读取新写入数据的位置。您甚至可以将其与Inotify结合起来,以了解何时可以阅读。如果你只想使用Inotify,你可能必须将指针存储到某处的最后一个读取位置。