2017-12-07 6 views
0

私はすべての不可解なものを初めて使いました。ほとんどの場合、私は "Trial and Error" -Modeにいます。Anabilities-Playbook - 出力をリモートサーバーに保存する

今、私はプレイブックに挑戦しており、さらに見ることはできません。

このプレイブックの主なタスクは、Ciscoデバイスから「show run」を取得し、バックアップサーバ(リモートサーバ)上のテキストファイルに保存することです。

バックアップタスクは、機能していない唯一のタスクです。ここで

は私の脚本です:

- 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

Hmm。私はコードがより良い形で投稿されたと思った... :( – DrMxxxxx

答えて

1

プレイブッブにconnection: localを設定すると、ローカルで実行されます(ios_...モジュールで正しいですが、copyモジュールでは実際には必要ありません)。

ホスト/デバイスのグループごとにインベントリに変数を定義することをお勧めします。したがって、Aniosはiosデバイスにlocal接続を使用し、バックアップサーバーにはsshを使用します。

+0

ああ!ok。インベントリファイルにansible_connection = localを定義していますか? – DrMxxxxx

+0

はい、iosデバイスではありますが、バックアップサーバではありません –

+0

たくさん! – DrMxxxxx

関連する問題