我設計我的tool.I記錄器插件對目標板上busybox的系統日誌,我想從它的系統日誌數據,所以我可以通過我自己的(不通過syslog的遠程端口轉發)轉發到我的主機通信framework.Initially我已經利用了系統日誌的轉發接收到一個命名管道消息的能力,而是通過一個補丁除了這僅適用於這是不是在我的case.So可行的,現在我的想法是寫在日誌配置文件轉發所有日誌消息,它收到一個文件並跟蹤文件以獲取我的數據。我可以使用tail函數來監視我的文件更改,但我的busybox尾部不支持「 - follow」選項,因爲syslog執行logrotate會導致「tail -f 「失敗了。而且我也不確定這是否是一種很好的方法。因此,我想問的是,還有另一種方法可以從文件中獲取修改的數據。我可以使用inotify,但只能使用inotify用於跟蹤文件更改。所以有辦法d這個?如何從Linux中的文件獲取修改的數據?
回答
你可以嘗試在 「diff」 實用程序(或GIT-diff,從而有更多的設施)。
你可以寫一個腳本/程序,它可以接收inotify的事件。然後腳本重新打開文件,並從之前保存的上次讀取文件位置開始讀取,直到EOF。
但系統日誌logrotates它的文件,所以這可能是工作,直到我的文件在logrotated這種情況下,我的文件的最後讀取的位置將變得無效,也inotify的會阻止一個事件,我不能使用阻塞調用,因爲我的記錄器程序的一部分阻止呼叫的通信框架不可行。 –
對於日誌旋轉,我猜最大尺寸已經被指定。您可以根據此最大查找修改您的查找位置。而inotify可以給你最新變化的開始和結束。 – vinayak
好的,謝謝我會嘗試這種方法。 –
- 1. 如何在Linux中從DMG文件獲取元數據?
- 2. 如何獲取linux文件修改歷史包括誰:組
- 3. 如何獲取在雲文件中修改文件的日期?
- 4. 獲取git repo中文件的最後修改數據
- 5. 如何在Linux中的內存中獲取修改通知
- 6. 如何從RecyclerView獲取修改的數據?
- 7. 如何從XML文件讀取和修改數據?
- 8. 如何從Python獲取UTC格式的文件修改日期
- 9. 獲取文件元數據在Linux中
- 10. 如何從文件列表中獲取最後一個修改後的文件
- 11. 如何修改<s:textfield>以從ApplicationResources.properties文件中獲取值
- 12. 如何從C#文件中獲取修改日期?
- 13. 獲取文件的最後修改時間在Linux
- 14. 獲取Linux內核make過程重建修改後的文件
- 15. 編寫腳本linux命令來修改文件中的數據
- 16. 維修/從損壞的SQLite文件中獲取數據
- 17. 修改文本文件中的數據
- 18. 如何獲取上次修改的數據和文件的時間
- 19. 獲取文件元數據(最後修改日期)的開銷
- 20. 如何在asp.net中獲取文件的最後修改時間?
- 21. 如何在Python中獲取文件的修改日期/時間?
- 22. 如何獲取基於php中最後修改的文件名?
- 23. 如何獲取上次在Python中修改文件的時間?
- 24. 如何獲取PHP中最後修改的文件?
- 25. 如何獲取CVS中遠程修改文件的列表
- 26. 如何在Perl中獲取文件的最後修改日期?
- 27. 如何從.xml文件獲取數據
- 28. 在mysql數據庫中,如何從csv文件上載修改後的數據
- 29. 如何從文本文件中獲取所需的列數據?
- 30. 如何從c#中的文本文件獲取數據
我不能使用的diff工具,因爲它是用來比較文件,但對我來說,我需要從日誌文件中獲取新添加的數據像如記憶:一個命名管道,所以我從這個存儲器中檢索數據併發送它在我的主機 –