繁体   English   中英

如何从Linux中的文件获取修改后的数据?

[英]How to get modified data from a file in linux?

我正在为我的工具设计一个记录器插件。我在目标板上有一个busybox syslog,我想从中获取syslog数据,以便可以通过自己的通信框架转发到主机(而不是通过syslog的远程端口转发)最初,我利用syslog的功能将收到的消息转发到命名管道,但这只能通过添加补丁来实现,在我的情况下不可行。所以现在我的想法是在syslog中写入配置文件以转发所有日志它可以接收到文件并跟踪文件以获取我的数据的消息。我可以使用tail函数来监视文件更改,但是由于syslog执行logrotate导致“ tail -f”出现,我的busybox tail不支持“ --follow”选项失败。而且我不确定这是否是一个好方法。所以我想问的是还有另一种方法可以从文件中获取修改的数据。我可以使用inotify,但是只能使用跟踪文件更改。有没有办法做到这一点?

您可以尝试使用“ diff”实用程序(或git-diff,它具有更多功能)。

您可以编写可以接收inotify事件的脚本/程序。 然后脚本从先前保存的上次读取文件位置重新打开文件并开始读取直到EOF。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM