端末でいくつかのコマンドを使用してリモートサーバーからファイルを並列にコピーしますか?

端末でいくつかのコマンドを使用してリモートサーバーからファイルを並列にコピーしますか?

リモートサーバーからローカルサーバーにファイルをコピーするには、次のscpコマンドを使用しています。端末に次のコマンドを入力すると、コピーが開始されます。

scp -r user@machineA:/data/process/* /data/process/

リモートサーバーには約100個のファイルがあり、各ファイルのサイズは約11GBなので、上記のコマンドを実行するとファイルを1つずつコピーします。端末で直接実行できるいくつかのコマンドを実行しながら、同時に5つのファイルをコピーする方法はありますか?

GNU Parallelもインストールしましたが、ここでどのように使用するのかわかりません。端末で直接実行してファイルを並列にコピーするのに役立ちますか?それとも別の方法があればそうします。

ベストアンサー1

find以下は、関連するリモートサーバーで実行されるコマンドですparallel

find /data/process/ -type f | parallel scp {} user@machineB:/data/process/

編集する:

より文書並列に実行されるジョブの数を制御する方法。

同時ジョブ数--jobsはまたは同等に提供されます-j
デフォルトは--jobsCPU コアの数と同じです。
--jobs 0できるだけ多くのジョブが並列に実行されます。

編集する:

これは別の質問でなければならず、すでに質問して答えています。リモートシステムでコマンドを実行するには?

ssh user@machineA 'find /data/process/ -type f | parallel scp {} user@machineB:/data/process/'

おすすめ記事