有沒有一種簡單的方法可以產生有關 IIS 中「死」文件的報告?

有沒有一種簡單的方法可以產生有關 IIS 中「死」文件的報告?

我們希望產生過去 3 個月、6 個月和一年內未在我們的網頁伺服器上存取過的檔案清單。

IIS 可以為我們提供已命中的檔案列表,但我想知道是否有一個工具可以在我們的 Web 伺服器目錄中產生未出現在日誌檔案中的檔案列表。

答案1

恐怕沒有簡單的解決方法。我想您必須將日誌與(我認為是靜態的)文件列表進行比較。我能想到的最好的方法是使用日誌解析器工具。

您可以將日誌匯入 SQL 資料庫並建立一個包含所有 URL 的表(選擇不同的...)。然後,您必須使用腳本在目錄中建立檔案名稱列表,並將產生的檔案匯入到另一個資料庫表中。步驟 3 是從表 2 中選擇在第一個表中沒有對應項的所有檔案名稱。

答案2

Splattne 有我要發布的答案。我想補充一點,解決問題的另一種方法是執行以下操作:

  1. 使用“X_”前綴重命名您懷疑未使用的任何檔案。例如,將 Suspect.htm 重新命名為“x_suspect.htm”

  2. 像鷹一樣觀察您的 404 日誌。我們使用 grep 解析出所有 404 並尋找未真正死亡的「死亡」檔案。如有必要,將它們放回去(或修復連結)。

這不是我最喜歡的處理方法(即向客戶顯示 404),但它確實有助於確認文件是否正在使用。

希望這可以幫助。

答案3

澤努的連結偵探如果您授予它對您網站的 FTP 存取權限,它將執行孤立檔案檢查。

答案4

一般來說,這將是一項艱鉅的任務,因此我認為您不太可能找到現成的解決方案。雖然您可以取得從日誌存取的檔案清單並將其與相關目錄中的檔案清單進行比較,但您必須考慮透過以下方式存取的任何檔案:

  • server.transfer
  • server.execute
  • #include
  • 伺服器端<script>標籤
  • 可能還有其他一些事情 - 上面的列表只是“經典”ASP 中浮現在腦海中的顯而易見的事情。

等等。對於某些應用程式可能有許多腳本使用的文件,但由於引用方式的原因在 Web 伺服器日誌中看不到。

相關內容