ansible - 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 - []
我不确定我在这里做错了什么。非常感谢任何帮助
解决方案
所以我得到了我所犯的错误。我没有从要复制的迭代中传递文件名。
进行以下更改后,我能够运行它
前:-
- 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 }}"
推荐阅读
- sql - Postgres 查询返回只有一位作者的书籍
- java - Java中的Java.lang.Integer类
- c - 为什么我不能将此数组传递和编辑给函数?
- rest - REST GET 的 HTTP 响应代码 - 未找到子资源(但未由标识符引用)
- nginx - 无法从外部访问 nginx
- javascript - 如何限制 contenteditable div 中的行数
- mysql - 我应该如何存储另一个表的行以便在前端有统计数据?
- node.js - 分布式计算,启动时在一台服务器上运行代码
- ios - 识别出faceId后如何导航到另一个页面?
- excel - 如何修复“类不支持自动化或不支持预期接口”