SSHによる圧縮、分割、パイプ、解凍方法

SSHによる圧縮、分割、パイプ、解凍方法

LAN経由で大容量ファイルをコピーしていますが、SSHパイプを使用すると約10MB/sの転送速度が得られることがわかりました。ただし、4つを同時に実行すると、総転送速度は約40MB/s程度になります。

それで、大きなファイル(1GBなど)を複数の部分に分割し、各部分を別々にパイプしてから、反対側で再構築したいと思います。また、転送する前にtar / zipを実行し、反対側で解凍するか解凍する必要があります。

どうすればいいですか?

答え1

HPN-SSH最後に、で終わりますpigz

tar -cf - -C [RELATIVEFOLDER] [FILENAME] | pigz | ssh px "pigz -d | tar xf - -C [REMOTEFOLDER]"

改善点は次のとおりです。10の累乗。

ちなみに、インストールHPN-SSHpigzオンはUbuntu 14.04非常に簡単です。

# hpn-patched ssh from ppa
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:w-rouesnel/openssh-hpn
sudo apt-get update -y  
sudo apt-get install openssh-server
ssh -V # should have 'hpn' in it somewhere

# pigz
sudo apt-get install pigz

答え2

scp(1) を使用して大容量ファイルをコピーする前に分割に使用できる zipsplit(1) と Split(1) があります。あるいは、パイプ効果を得るには、出力を名前付きパイプに分割し、名前付きパイプをSSHに接続することもできます。

関連情報