2015-10-21 29 views
1

我需要在一個特定的時間範圍如何知道哪些文件被linux機器上的特定進程修改?

我想我的Linux機器(AIX,Solaris和紅帽,CentOS的,HP-UX)(類似PROC週一或FORFILES在Windows)的所有修改過的文件的列表使用查找命令。但是因爲它沒有按照特定的PID進行搜索,所以我得到了太多的結果。 我想通過查找由特定進程修改的文件來縮小結果範圍。我使用lsof命令爲特定的PID。但是我得到了被訪問的文件列表,這對我沒有任何幫助,因爲我不知道這個過程是否改變了它們。 我嘗試了具體PID了strace的命令,但輸出是很難的工作(太多不相關的信息,我需要24小時的時間範圍)

我種了一個死衚衕。有任何想法嗎? (簡而言之,我想獲得特定時間範圍內特定進程的所有修改文件的列表)

+0

沒有文件系統,我知道的持有作爲過程最後修改一個文件的屬性。他們只持有最後修改日期。如果你進入內核編程,你可以嘗試在內核中找到處理文件寫入的地方,並添加一些日誌記錄,但是我懷疑這是你的想法。 – sashoalm

+0

也許你在'/ proc/$ PID'中找到了一些東西...... – Downvoter

+0

@cad我想他是說他想知道哪個進程修改了一個文件,即使這個進程已經終止了。不僅僅是哪個進程正在修改文件。 – sashoalm

回答

0

Linux不保存任何記錄的日誌,其中哪些文件被哪個進程修改。

唯一的日誌信息是每個文件的上次修改時間戳。例如,即使是這樣,任何具有適當特權的流程都可以隨意調整爲未來十年。

簡而言之,您正在查找的信息不存在。

相關問題