2017-12-07 16 views
0

나는 모든 위험한 것에 익숙합니다. 그래서 대부분의 경우 나는 "Trial and Error"-Mode에 있습니다.가능성있는 플레이 북 - 원격 서버에 출력 저장

이제 나는 플레이 북에 대한 도전에 직면하고 있으며 더 이상 보지 않을 것입니다.

이 게임 가이드의 주요 작업은 Cisco 장치에서 "실행보기"를 가져와 백업 서버 (원격 서버)의 텍스트 파일에 저장하는 것입니다.

작동하지 않는 유일한 작업은 백업 작업입니다.

- hosts: IOSGATEWAY 
    gather_facts: no 
    connection: local 
    tasks: 
    - name: GET CREDENTIALS 
    include_vars: path/to/all/all.yml 

    - name: DEFINE CONNECTION TO GW 
    set_fact: 
     connection: 
      host: "{{ inventory_hostname }}" 
      username: "{{ creds['username'] }}" 
      password: "{{ creds['password'] }}" 

    - name: GET SHOW RUN 
    ios_command: 
     provider: "{{ connection }}" 
     commands: 
     - show run 
    register: show_run 

    - name: SAVE TO BACKUP SERVER 
    copy: 
     content: "{{ show_run.stdout[0] }}" 
     dest: "path/to/Directory/{{ inventory_hostname }}.txt" 
    delegate_to: BACKUPSERVER 

사람이 올바른 방향으로 날 힌트 수 : 여기

내 작전인가?

+0

흠. 내가 코드가 더 좋은 형태로 게시 된 줄 알았는데 ... :( – DrMxxxxx

답변

1

북 플레이 북에 대해 connection: local을 설정 했으므로 로컬로 실행됩니다 (ios_... 모듈에는 맞지만 실제로는 copy 모듈에 대해 원하는 것은 아닙니다).

호스트/장치 그룹 당 인벤토리에 변수를 정의하는 것이 좋습니다. 따라서 Anecess는 ios 장치에 local 연결을 사용하고 백업 서버에는 ssh을 사용합니다.

+0

아! 알았어. 재고 목록 파일에 ansible_connection = local을 정의 했단 말이니? – DrMxxxxx

+0

예, ios 장치는 백업 서버가 아니지만 –

+0

작동합니다! 감사합니다. 많이! – DrMxxxxx