SunOS의 scp 재귀 디렉터리

SunOS의 scp 재귀 디렉터리

SCP(및 rsync)에 작은 문제가 발생했습니다. 서버 A(SunOS 5.8 실행)에서 서버 B(SunOS 5.10 실행)로 일부 파일을 복사해야 합니다.

먼저 SSH를 통해 파일 목록(수백 개)을 얻고 다음을 찾습니다.

FILES=`ssh user@remote find ./ -name "*.sh" -o -name "*.cbs" -print`
scp -r user@remote:"$FILES" /u01/appl/somedir/ 

내 문제는 상대 경로를 사용하여 파일을 복사하고 디렉터리 구조도 만들고 싶다는 것입니다 product/11/ora/clean.sh (결과적으로 /u01/appl/somedir/product/11/ora/clean.sh). 현재는 파일 다운로드만 가능하고 디렉터리는 생성되지 않습니다. 보시다시피 -rscp에서는 플래그를 사용하고 있습니다.

답변1

쉘은 user@remote:"$FILES" 구성을 원하지 않는 것으로 확장합니다. 첫 번째 항목에는 user@remote: 접두사가 있지만 나머지는 그렇지 않습니다.

SSH를 통해 tar를 전송할 수 있으므로 위의 "find" 명령을 사용하여 포함을 빌드하는 것이 더 쉬울 수 있습니다. 그런 다음 다음을 수행할 수 있습니다.

find ...stuff... > myfiles
scp myfiles user@remote
ssh user@remote "tar -Imyfiles -cvf - " | tar -C /u01/appl/somedir -xf-

교활하게 발견된 콘텐츠와 타르를 올바른 인용과 결합할 수 있습니다.

관련 정보