計算Windows中硬連結的大小

計算Windows中硬連結的大小

多年來我一直是 Linux 的狂熱用戶,但後來改用了 Windows。我一直懷念的一件事是使用rsync製作增量快照出於備份目的。您使用這樣的指令:

rsync -aP --link-dest=PATHTO/$PREVIOUSBACKUP $SOURCE $CURRENTBACKUP

它將建立您正在備份的資料夾目前狀態的完整目錄結構,使用硬連結引用先前的備份。只有新的或更改的檔案才會實際寫入磁碟;所有其他都保存為硬鏈接。這簡直太棒了,我在 Windows 中找到的解決方案都無法做到這一點。 (作為參考,我嘗試過 Windows 文件歷史記錄,並付費購買了商業軟體,包括 Crashplan 和其他出色的軟體無可比擬.)

既然 Microsoft 已經引入了 WSL,我已嘗試在 Windows 的 bash 中執行此操作。它似乎運作得很好,但 Windows 報告的磁碟大小不正確,如下所示:

磁碟大小報告不正確

為了解釋一下,我在一個快照中snapshot-170831__07h08m48s添加了一個 1.40 GB 的大視頻文件,複製需要幾秒鐘。在下一個快照中,snapshot-170831__07h09m09s檔案沒有花時間複製,這表示硬連結已正確創建,並且沒有佔用我的硬碟上的空間。

然而,我的所有 Windows 工具(Windows Explorer、Directory Opus、WinDirStat)都報告第二個快照資料夾佔用了 1.40 GB 磁碟空間。

那麼第一個問題是為什麼 Windows 錯誤地報告這些硬連結的磁碟大小?

但更重要的問題是我應該這樣做嗎:在 Windows 下使用 Linux 工具進行常規檔案備份。我已經在 WSL 上看到,使用 Windows 工具修改 .bashrc 等檔案將使該檔案在 WSL 內無法讀取。我想知道將我的備份信任給這樣的工具是否風險太大,或者我是否有損壞檔案系統和丟失重要檔案的風險。

答案1

計算Windows中硬連結的大小

在 Windows 中計算硬連結檔案的大小很困難。允許您執行此操作的一種工具是樹尺寸專業(不是免費的,硬連結分析預設為關閉)。我使用了這個工具,它正確地估計了硬連結檔案的大小。

有關更徹底的討論,請參閱如何檢查具有許多硬連結的 NTFS 目錄中使用的實際大小?

這些文件真的有效嗎?

至於問題的另一部分,在WSL上使用Windows下的Linux工具備份檔有風險嗎?我決定簡單地透過將快照目錄之一複製到單獨的外部硬碟來測試這一點。複製檔案或從外部磁碟機讀取檔案沒有問題。換句話說,硬連結的行為完全符合預期,並且文件正在運行。

數據長期穩定

那麼最後一點,在 WSL 下使用 Linux 工具作為常規備份的一部分是否會破壞某些內容,例如損壞檔案系統?我相信 WSL 不會造成重大破壞嗎?任何事情都可能隨時損壞,因此我將確保定期將這些快照目錄複製到單獨的磁碟機。

相關內容