나는 scp가 행동하도록 납득시킬 수없는 것처럼 보입니다. 테스트 데이터 명령scp -r copy를 스크립팅하는 방법은 무엇입니까?
[email protected]:/tmp$ scp -r /tmp/a1 domU-12-31-38-00-E2-52.compute-1.internal:/tmp/a1
발행에
[email protected]:/tmp$ find /tmp/a1/
/tmp/a1/
/tmp/a1/a2
/tmp/a1/a2/a3
를 들어
나는 domU에-12-31-38-00-E2-52.compute-에서 만든 같은 디렉토리 구조를 기대 1. 내부적으로/tmp/a1 디렉토리가 대상 호스트에 있는지 여부.
[email protected]:/tmp$ ssh domU-12-31-38-00-E2-52.compute-1.internal find /tmp/a1
/tmp/a1
/tmp/a1/a1
/tmp/a1/a1/a2
/tmp/a1/a1/a2/a3
어떻게 SCP는 작업의 루트로 주어진 디렉토리에 복사하도록 강제 할 수 있습니다 (/ tmp를/A1은 대상 호스트에있는 경우) 대신에, 다음과 같은 구조는 무엇 scp를 실제로 만들어 무엇입니까?
나중에이 작업을 스크립트로 작성하여 마스터의 지정된 디렉토리 경로에서 동일한 디렉토리 구조를 모든 슬레이브에 복제하는 스크립트를 호출 할 수 있습니다. 이 방식으로 rsync 동작 (적어도 테스트 한 것)은 동일하다는 점에 유의하십시오.
고맙습니다. Maxim.
나는 모든 경우에 슬레이브 유틸리티에 대한 일반적인 복사로 작동한다고 생각하지 않습니다. 귀하의 제안에 따라 매개 변수의 절대 경로를 찾아 디렉터리인지 여부를 결정해야합니다. 그렇다면 scp 명령을 작성하기 전에 한 레벨을 제거하십시오. 좀 더 간단한 해결책이 "스크립트가 더 친숙한가?" –
파일의 한 수준을 제거 할 수도 있습니다. 조건부 여야한다고 생각하지 않습니다. 'dirname'이 이것을 할 것입니다. 경로 끝의 슬래시에주의해야합니다. –