首页 > 解决方案 > Ansible 无法从远程目录获取所有文件

问题描述

我正在将日志文件从远程 Windows 机器复制到本地机器。

这是我的 Ansible -

- name: Debug Msg
  debug: msg="Copying logs at - {{ log_full_path }}"

- name: Debug Msg
  debug: msg="Copying logs from - {{ log_file }}"

- name: Getting directory of files
  win_shell: Get-ChildItem | where {!$_.PsIsContainer} | foreach { $_.Name }
  args:
    chdir: "{{ log_file }}"
  register: files_to_copy

- name: Fetch logs
  fetch: src={{ log_file }} dest={{ log_full_path }} fail_on_missing=yes validate_checksum=yes
  with_items: "{{ files_to_copy.stdout_lines }}"

当我通过我的 python 代码运行 ansible 时,它​​显示它正在正确复制文件,但我在目标目录中看不到任何文件。

TASK [Debug Msg] ***************************************************************
ok: [win1] => {
    "msg": "Copying logs at - /tmp/cbl-logs/"
}

TASK [Debug Msg] ***************************************************************
ok: [win1] => {
    "msg": "Copying logs from - C:\\Users\\Administrator\\AppData\\Local\\Temp\\log_1557220483.4525"
}

TASK [Getting directory of files] **********************************************
changed: [win1]

TASK [Fetch logs] **************************************************************
ok: [win1] => (item=cbl_debug_1557220483607.cbllog)
ok: [win1] => (item=cbl_error_1557220483610.cbllog)
ok: [win1] => (item=cbl_info_1557220483608.cbllog)
ok: [win1] => (item=cbl_verbose_1557220483608.cbllog)
ok: [win1] => (item=cbl_warning_1557220483609.cbllog)

PLAY RECAP *********************************************************************
win1                       : ok=5    changed=1    unreachable=0    failed=0   

Checking /tmp/cbl-logs/ for copied log files - []

我不确定我在这里做错了什么。非常感谢任何帮助

标签: ansible

解决方案


所以我得到了我所犯的错误。我没有从要复制的迭代中传递文件名。

进行以下更改后,我能够运行它

前:-

- name: Fetch logs
  fetch: src={{ log_file }} dest={{ log_full_path }} fail_on_missing=yes validate_checksum=yes
  with_items: "{{ files_to_copy.stdout_lines }}"

后:-

- name: Fetch logs
  fetch: src={{ log_file }}\{{ item }} dest={{ log_full_path }} fail_on_missing=yes validate_checksum=yes flat=yes
  with_items: "{{ files_to_copy.stdout_lines }}"

推荐阅读