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
디렉터리를 두 번 만들었습니다.
스크립트에서 #! /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