透過安全網路複製小檔案的最快方法,無需考慮檔案修改時間或大小

透過安全網路複製小檔案的最快方法,無需考慮檔案修改時間或大小

我想同步 dir1 和 dir2 (兩個不同的伺服器)中的檔案。

我不在乎檔案大小或修改時間是否不同。

範例:dir1 包含 file1、file2、file3、file4,dir2 包含 file2、file3、file5

我想將file5複製到dir1,並將file1、file4複製到dir2。

請注意,file2 大小不同,file3 修改時間也不同,但我不在乎。我的網路也是私有的,所以我不需要任何安全開銷。

哪一個最快:

rsync、scp 或 cp 透過 NFS 掛載?確切地說,相應的命令列是什麼?

答案1

這在很大程度上是學術性的,因為您的限制很可能是您的網路頻寬。唯一真正需要注意的是檔案大小與操作數量 - 許多小檔案將導致大量小型複製操作。

但就目前情況而言,很難確定什麼是“最快”,因為“這要看情況”。

我會驚訝地發現您遇到了很多問題rsync,原因很簡單,它會在進行任何複製之前檢查是否需要執行任何操作。沒有什麼比不複製不需要的東西更有效的了。

如果您有很多小文件,那麼您可能會發現tar它做得更好 -tar專為寫入磁帶而設計,因此非常適合透過網路傳輸目錄結構。例如

tar cvfz - ./path_to_copy | ssh $remotehost "( cd $destination && tar xvfz - )"

相關內容