通常我使用節點將某些服務器消息記錄到本地文件中,但有時文件太大,所以我會定期通過logroate工具歸檔此大文件(例如:將linz.log移動到linz-2017-06 -19.log,現在linz.log文件是空的,但有時node仍然會寫數據到linz-2017-06-19.log,我猜可能linz.log描述符不會被改變)我可以監視Linux上的文件重命名事件嗎?
1
A
回答
0
您可以使用inotifywait
inotifywait有效地等待使用Linux的inotify(7)接口更改文件。它適用於等待來自shell腳本的文件更改。它可以在事件發生時退出,或者在事件發生時持續執行和輸出事件。
實施例:
touch /tmp/foofile
inotifywait -e move /tmp/
mv /tmp/foofile /tmp/barfile
從inotifywait
Setting up watches.
Watches established.
/tmp/ MOVED_FROM foofile
+0
您應該顯示代碼來執行此操作,而不是命令。堆棧溢出是編程和開發問題的網站。編程答案在這裏適用。 – jww
相關問題
- 1. 可以重命名Gruntfile.js文件嗎?
- 2. 我可以重命名cucumber的step_definitions文件夾嗎?
- 3. 我們可以監視statusBar點擊事件嗎?
- 4. Visual Studio重命名文件夾和控件 - 可以嗎?
- 5. AppleScript可以監聽事件嗎?
- 6. ASP.Net Webforms:可以監聽RequiredFieldValidator嗎? (事件)
- 7. Linux上64位Java監視文件
- 8. 我可以使用表單字段重命名上傳圖像文件嗎?
- 9. 在linux中監視文件
- 10. 我可以在Linux上動態加載可執行文件嗎?
- 11. 我可以重命名Main.mxml嗎?
- 12. 羣衆文件重命名(Linux)的
- 13. 的Linux擊重命名文件
- 14. 我可以重命名我的應用程序配置文件的文件擴展名嗎? (.config to .xml)
- 15. $ target_path可以重命名嗎?
- 16. 我可以在不是我的網站上添加事件監聽器嗎?
- 17. 我可以使用sed以「運行計數」重命名文件嗎?
- 18. 我應該重命名用戶上傳的文件嗎?
- 19. 以C#重命名文件
- 20. 以PHP重命名文件
- 21. Visual Studio MSbuild重命名文件事件
- 22. 當我重命名文件夾時,FileSystemWatcher重命名事件未被提出
- 23. 批量重命名文件以包含linux中的文件夾/目錄名稱
- 24. 我可以監視對VisualBasic 6 ActiveX控件的COM調用嗎?
- 25. 重命名多個文件 - linux/ubuntu
- 26. 盲目重命名文件 - linux
- 27. Linux批量重命名文件
- 28. 我可以重命名包含從GitHub克隆的文件夾(&文件)的本地文件夾嗎?
- 29. 重命名文件上S3
- 30. 重命名文件上傳
參見輸出['的inotify()'](http://man7.org/linux/man-pages/man7/inotify .7.html) –
這是[XY問題](https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)。應該反過來詳細解釋並詢問實際問題 - 將數據寫入錯誤的文件。 – kaylum
@kaylum確實。解決* real *問題 - 不要編寫更多代碼來隱藏症狀。除非你喜歡黑客一起,複雜的,不可維護的系統,不能很好地工作。僅僅因爲你知道如何編寫代碼並不意味着你應該通過扔掉更多的代碼來解決所有問題。通知守護進程它需要切換到新的日誌文件的標準方法是向進程發送'SIGHUP'。希望你沒有通過重定向'stdout'或'stderr'進行日誌記錄。如果你是,你剛剛知道爲什麼這是一個**糟糕**的想法。 –