2017-06-14 9 views
0

リモートのlinuxサーバから安全なホストに最新のログファイルをコピーする必要があります。これはこれまで私が試したことです。リモートサーバからホストへのコピーが失敗する

- hosts: [host] 
    remote_user: root 
    tasks: 
    - name: Copy the file 
    command: bash -c "ls -rt | grep install | tail -n1" 
    register: result 
    args: 
     chdir: /root 
    - name: Copying the file 
    copy: 
     src: "/root/{{ result.stdout }}" 
     dest: /home 

しかし、私は次のエラーを取得しています。

TASK [Gathering Facts] ******************************************************************************************************************************************************************************************** 
ok 

TASK [Copy the file] ********************************************************************************************************************************************************************************************** 
changed: => {"changed": true, "cmd": ["bash", "-c", "ls -rt | grep install | tail -n1"], "delta": "0:00:00.011388", "end": "2017-06-14 07:53:26.475344", "rc": 0, "start": "2017-06-14 07:53:26.463956", "stderr": "", "stdout": "install.20170614-051027.log", "stdout_lines": ["install.20170614-051027.log"], "warnings": []} 

TASK [Copying the file] ******************************************************************************************************************************************************************************************* 
fatal: FAILED! => {"changed": false, "failed": true, "msg": "Unable to find 'install.20170614-051027.log' in expected paths."} 


PLAY RECAP ******************************************************************************************************************************************************************************************************** 
      : ok=2 changed=1 unreachable=0 failed=1 

しかし、このファイルは正しいです。この問題を解決するのを手伝ってください。

答えて

1

不可能なコピーは、実行可能なホストからリモートホストにファイルをコピーします。代わりにAnsible fetchを使用してください。 http://docs.ansible.com/ansible/fetch_module.html

+0

ありがとうございます。私は同じことを試みました。できます。 –

0

これは動作しますが、私はリモートからファイルを取得するためにコピーの代わりにフェッチを使用する必要があります。

- name: Copy the file 
    command: bash -c "ls -rt | grep install | tail -n1" 
    register: result 
    args: 
     chdir: /root 
    - name: Copying the file 
    fetch: 
     src: "/root/{{ result.stdout }}" 
     dest: /home 
     flat: yes 
関連する問題