我正在使用 rsync (cygwin) 同步兩個驅動器,使用以下命令rsync -a -H /cygdrive/e/ /cygdrive/d/
í 有大約 3 TB 的數據,可能有大約 100 萬個檔案(包括)硬連結。如果沒記錯的話,第一次大約需要1-2天才能完成。如果重新執行此命令,即使沒有任何更新,也會花費很長時間。需要幾個小時——12個小時。這不是應該少花很多時間嗎?
答案1
您正在同一系統上的兩個位置之間進行複製。這會關閉 delta 演算法並恢復rsync
為cp -a
.
該-H
標誌導致rsync
必須保留具有多個硬連結的每個檔案的記錄,以便它可以重建目標中的硬連結。這會增加記憶體使用(根據經驗,我會說增加很多),這反過來又會對您的系統提出更高的要求。
最後,Cygwinrsync
比本地 UNIX/Linux 實作慢得多。我還不確定這是否是因為它使用了 Windows 之上的相容層,或者是因為檔案系統速度較慢,甚至完全是因為其他原因。但對於同一硬體上的一組相同的檔案來說,速度會慢一些。
答案2
這不是一個完整的答案,但我認為這對某些陷入同樣情況的人來說可能非常有價值。我最終在 Linux 上進行了 rsync,並且沒有出現任何問題。如果您遇到此問題,請至少嘗試從 CD 啟動到 Ubuntu/CentOS 或您喜歡的 Linux 發行版,看看它是否有效。