Bash

cp還是rsync,cp真的值得嗎?

  • May 23, 2019

我希望這不算是一個沒有真正答案的問題,因為我似乎找不到在幾乎所有情況下都使用cp(1)over的充分理由。rsync(1)通常應該贊成rsynccp?他們的使用有什麼好的指導方針嗎?

  • rsync:傳輸差異,可以使用壓縮,可以遠端(安全)使用,即使在傳輸單個大文件期間也可以在中斷的情況下重新啟動。'
  • cp: 也許它只是使用更簡單?它比 rsync 快嗎?

cp是 coreutils 的一部分,因此它無處不在。此外,它主要設計用於在一台電腦內復製文件。

rsync不是 coreutils 的一部分,即使在預設環境中也不存在。此外,它主要設計用於通過網路傳輸文件。與 coreutils 相比,它還rsync具有更多的依賴項,但是這種差異並沒有太大意義。

PS:順便說一下,嵌入式系統的CPU使用率仍然很重要。

您不想rsync為每個複制操作使用的主要原因是因為rsync有計算成本。在數據傳輸實際開始之前,rsync掃描所有文件。然後在每個文件之前進行比較。即使在 2012 年可以使用快速 CPU,這種成本也不是微不足道的。我一直在進行這些類型的傳輸,並且在相當大的伺服器上,一旦您開始處理大量數據,成本可能會很耗時。

我不是說不要使用rsync,一點也不,rsync隨時使用可以節省一些傳輸時間。只是不要使用rsyncwhencp可以完成同樣的事情。

我通常做的,首先使用正常的複制方法將數據帶過來。然後rsync進行後續更改,也就是可以利用這些差異的時候。

引用自:https://unix.stackexchange.com/questions/44384