Shell
監控文件更改 + 程序對文件的訪問
我想看看我的應用伺服器文件夾中發生了什麼,即程序 x 更改了哪些文件,或者
*.war
在過去 x 分鐘內更改了(替換/創建)了哪些文件。Linux中是否有工具可以幫助解決這個問題?
Strace(如上所述)是檢查指定執行軟體操作的一種方法。
某些命令
watch find dir/ -mmin 1
也可能有助於檢查某個目錄中過去一分鐘的更改。根據您正在尋找的具體內容,inotify-tools可能是這裡的另一種交易工具。
例如,
inotifywait -mr dir/
監視給定目錄中的更改並立即為您提供任何嘗試打開/讀取/寫入/關閉文件的應用程序的回饋。但是,inotify 不會向您提供有關哪個應用程序或程序正在訪問該文件的回饋 - 這是 strace 所做的事情。請注意,系統級監控對於在某些應用程序容器環境中執行的 Java 軟體通常用途有限,因為您只能看到與系統互動的容器(例如 Tomcat),而看不到實際的應用程序(例如 .war)。