Ansible 无法找到或访问

Ansible Could not find or access

我正在尝试在我的任务中使用 2 个 lookup(fileglob) 进行循环

---
- hosts: localhost
  become: yes
  become_user: root

  tasks:

    - name: Loop with 2 lookup
      copy:
        src: '{{ item.src }}'
        dest: '{{ item.dest }}'
      loop: 
        - { src: "{{ lookup('fileglob', 'custom_scripts/*', wantlist=True) }}",  dest: /var/custom_scripts/ }
        - { src: "{{ lookup('fileglob','certs/*', wantlist=True) }}", dest: /var/custom_certs/ }

当我尝试 运行 时,我在错误日志中得到无法找到或访问“文件路径”ansible 正在查看所有这些文件,因为列出了所有无法访问的文件。 777

上设置了所有文件夹和文件的权限

这种复制文件的逻辑似乎有缺陷,很可能导致此问题。 item.src 正如您尝试访问的那样,是一个列表 (wantlist=True)。实际上,您将文件列表传递给 copysrc 参数,而不是 1 个文件。

此外,copy module 支持复制整个目录。所以应该不需要实际获取文件列表。

应该执行如下任务:

    - name: Loop with 2 lookup
      copy:
        src: '{{ item.src }}'
        dest: '{{ item.dest }}'
      loop: 
        - { src: 'custom_scripts/', dest: '/var/custom_scripts' }
        - { src: 'certs/', dest: '/var/custom_certs' }