tar をパイプ経由で、ssh 経由で行い、サーバのファイルを一気に転送する
ssh 経由で tar
ssh srv1 'sudo tar cpvf - /var/opt ' | cat - > var-opt.tar
こんな大胆なことをするときは、サーバーのファイルをまるっと取り出したいときなので。
p
をつけて、preserve permission する。
ssh パイプ tar cat に、gzip も合わせてみる
転送量を減らしたいときは、gzip / pigz をする。
ssh srv1 'sudo tar cpvf - /var/opt | pigz -c - ' | cat - > var-opt.tar.gz
パイプってマジで便利ですよね。 確実にやるには、p オプションがいいらしい
gzip だけ別マシンでやってみるとか
複数台のマシンをフルに活用するとかできそうですよね。
ssh srv1 'sudo tar cpvf - /var/opt | ssh srv2 'pigz ... ' | cat - > var-opt.tar.gz
進捗を見たい
進捗を見たいのなら pv を組み合わせるのがいい。
参考資料
https://blog.securem.eu/tips%20and%20tricks/2017/10/14/pipe-tar-through-ssh-to-transfer-large-files/