簡體   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