
我在兩個不同的地方有兩台 Windows 伺服器(2016 年),都有大約 8TB 的資料。它們都應該具有相同的文件和文件結構,但它們之間的情況可能會發生變化。我想識別不匹配或存在於一台伺服器但不存在於另一台伺服器上的檔案。
我的理論是,這應該可以透過 Powershell 的一些循環來實現獲取文件哈希,我在一台伺服器上運行它,將資料匯出到一個文件,然後將該文件移動到第二台伺服器並以某種方式進行比較- 但不幸的是,我還沒有足夠的Powershell 大師來自己完成這件事。
可能還有一個實用程式可以做到這一點,如果有人知道的話 - 主要的癥結是我不能使用簡單比較兩個目錄的程序,因為兩個伺服器沒有連接到同一網路(或互聯網)。
答案1
我建議你使用拉許。它體積小且易於使用,應該非常適合您的場景。
它會產生一個文字文件,其中包含目標目錄(包括子目錄)中的文件列表及其雜湊值。然後您可以比較兩個文字檔案(例如使用windiff)以識別任何差異。
使用的命令列看起來像這樣:
cd /d c:\directory\to\be\hashed
rhash --sha512 -r -o e:\output.txt .
(您希望相對於當前目錄進行雜湊操作,以便輸出檔案包含相對路徑而不是絕對路徑。絕對路徑會使比較兩個輸出檔案變得困難。)
答案2
我只需在兩台伺服器之間建立 DFS 複製。這將確保每個伺服器提供相同的檔案集,並允許您設定同步計劃,以防它是低頻寬網站。
請在那裡閱讀更多內容;DFS 複製概述