
我想同步 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 - )"