以下のシェルスクリプトと並行してGNUを使用して、scpを使用してファイルを並行してコピーしていますが、正常に動作しています。
以下のシェルスクリプトrsync
の代わりにどのように使用できるかわかりません。転送速度の点で比較してパフォーマンスが向上scp
するかどうかを確認しようとしています。rsync
scp
以下は私の問題の説明です -
で以下のシェルスクリプトを実行しているため、ファイルmachineB
をコピーしています。machineC
machineA
machineA
ファイルがそこにない場合は、確かmachineB
にそこにあるはずなので、最初からファイルをコピーしようとします。そこにない場合は、から同じファイルをコピーしようとします。machineC
machineB
machineB
machineC
GNU Parallel ライブラリを使用してファイルを並行してコピーしていますが、正常に動作しています。現在、プライマリとセカンダリの両方で 5 つのファイルを並行してコピーしています。
以下は私が持っている私のシェルスクリプトです -
#!/bin/bash
export PRIMARY=/test01/primary
export SECONDARY=/test02/secondary
readonly FILERS_LOCATION=(machineB machineC)
export FILERS_LOCATION_1=${FILERS_LOCATION[0]}
export FILERS_LOCATION_2=${FILERS_LOCATION[1]}
PRIMARY_PARTITION=(550 274 2 546 278) # this will have more file numbers
SECONDARY_PARTITION=(1643 1103 1372 1096 1369 1568) # this will have more file numbers
export dir3=/testing/snapshot/20140103
do_Copy() {
el=$1
PRIMSEC=$2
scp david@$FILERS_LOCATION_1:$dir3/new_weekly_2014_"$el"_200003_5.data $PRIMSEC/. || scp david@$FILERS_LOCATION_2:$dir3/new_weekly_2014_"$el"_200003_5.data $PRIMSEC/.
}
export -f do_Copy
parallel --retries 10 -j 5 do_Copy {} $PRIMARY ::: "${PRIMARY_PARTITION[@]}" &
parallel --retries 10 -j 5 do_Copy {} $SECONDARY ::: "${SECONDARY_PARTITION[@]}" &
wait
echo "All files copied."
scp
上記のコマンドを次のように置き換える方法はありますが、同時にrsync
5 つのファイルを並行してコピーしたいですか?PRIMARY
SECONDARY