2017-11-22 5 views
0

나는 Anabilities와 좀 초보자입니다. 호스트가 4 개인 호스트 파일이 있습니다.가능 - 서버 간 복사

또한 서버간에 데이터 (폴더)를 복사하기 위해 만든 'copymap'사전이 있습니다 (전체 'copymap'사전은 아래 예제보다 훨씬 큽니다).

copymap: 
     - {service: "zeppelin", src: '3.3.3.3', dest: '2.2.2.2'} 
     - {service: "local_data", src: '4.4.4.4', dest: '1.1.1.1'} 

원본이 copymap.src이고 대상이 copymap.dest 인 경우 서버간에 데이터를 복사하고 싶습니다.

'with_items'를 사용하여 반복하는 방법을 알고 있지만 원본과 대상을 지정할 수있는 방법을 잘 모르겠다. 서버. 누구든지 내장 된 '복사'모듈을 사용하여 동적 원격 서버에서 원격 서버로 복사 했습니까?

+1

http://docs.ansible.com/ansible/latest/synchronize_module.html – techraf

+0

이 글을 읽고 아직도 didn를했습니다 ' 원격 서버에서 원격 서버로 복사하는 방법 서버 1에서 Anabilities를 실행하고 호스트 파일에 Servers1-4가있을 때 Server2와 Server3간에 폴더를 동기화하려고한다고 가정 해 봅시다. 내가 다른 서버와 다른 폴더를 반복하고 있기 때문에 전체 서버의 목록과 함께 호스트 파일을 사용해야합니다. –

+1

Anabilities가 이에 적합 할 것입니다. 모든 머신 호스트 IP를 가지고 있으며이 작업을 수행 할 서비스 데몬을 작성하고 배포해야합니다. Anabilities는 호스트 IP를 데몬 서비스로 업데이트합니다. 또는 다른 방법은 명령 모듈 (scp)을 사용하여이 작업을 수행 할 수 있지만 좋은 방법은 아닙니다. 더 좋은 솔루션을 얻을 수 있도록 아키텍처에 대해 좀 더 자세히 설명 할 수 있겠습니까? –

답변

0

사용 synchronize : http://docs.ansible.com/ansible/latest/synchronize_module.html

examples 섹션에서 당신은 푸시에 대한 샘플을 찾아 가져올 수 있습니다.

푸시 :

# Synchronization using rsync protocol on delegate host (push) 
- synchronize: 
    src: /some/absolute/path/ 
    dest: rsync://somehost.com/path/ 
    delegate_to: delegate.host 

풀 :

# Synchronization using rsync protocol on delegate host (pull) 
- synchronize: 
    mode: pull 
    src: rsync://somehost.com/path/ 
    dest: /some/absolute/path/ 
    delegate_to: delegate.host