在具有 ssh-tunnel 的叢集上使用 wget

在具有 ssh-tunnel 的叢集上使用 wget

通常我可以使用以下命令將文件從一台計算機複製到另一台計算機

> scp [email protected] ssh [email protected]:/home/user/my_files/* .

對於大數據集來說,這非常慢。

有人告訴我,我正在使用的機器有一個非常快的鏈接,可以使用 wget 訪問。如何使用 wget 執行相同的檔案傳輸?

答案1

netcat如果這兩台機器之間有快速、安全且穩定的網絡鏈接,則可以使用和的組合tar,如下所示。

在目標機器上,運作:

nc -l 10000 | tar -C /destination/directory -xzf -

在來源機器上,運作:

tar -cz /source/directory | nc dst-machine-ip-address 10000

請注意,不會使用加密,因此我可以嗅探流量,如果由於任何原因連接斷開,您將不得不重新開始。

就我個人而言,我會跟上rsync

答案2

效能SCP可能是由兩個因素造成的:

  • 加密的成本對於慢速處理器來說可能太大了,
  • 請求單一文件所需的往返次數。

對於大量小文件,則是第二個。我的第一個想法是建議使用sftp,因為它在遠端主機上使用不同的程式。但經過測試後,這給出了類似的性能。

有效的解決方案是使用一個程序,該程序安裝在客戶端和伺服器上,並且僅發送回一個資料流(而不是數千個資料流)。SSH頻道):

相關內容