scp -r
以前使ってみましたが、こんなことは見たことがありませんね。
私は次のことをしています:
dirArr=(
/drv1/sample1/dataset1
/drv2/sample2/dataset2
/drv3/sample3/dataset3
)
for f in ${dirArr[@]}; do
echo mkdir -p /newdrive3"$f" | ssh [email protected] /bin/bash
scp -r "$f" [email protected]:"/newdrive3$f"
done
再帰コピーが発生しますが、毎回最後のディレクトリがその中にコピーされます。したがって、ターゲットのディレクトリツリー構造は次のようになります。
/newdrive3/drv1/sample1/dataset1/dataset1
/newdrive3/drv2/sample2/dataset2/dataset2
/newdrive3/drv3/sample3/dataset3/dataset3
原因は何ですか?
どうやって予防できますか?
答え1
ディレクトリを2回作成しました。
スクリプトで#! /bin/bash -x
トップを使用してデバッグします。
/newdrive3 は一度だけ作成できます。
この試み:
#!/bin/bash
dirArr=(
/drv1/sample1/dataset1
/drv2/sample2/dataset2
/drv3/sample3/dataset3
)
ssh [email protected] 'mkdir -p /newdrive3'
for f in "${dirArr[@]}"; do
scp -r "$f" [email protected]:/newdrive3
done