Ansible:循环遍历文件群列表

时间:2019-10-14 14:44:56

标签: ansible

我在ansible中有一个看起来像这样的列表:

[
    {
        "src_files": "/tmp/files/**/*",
        "dest_dir": "/home/user1"
    },
    {
        "src_files": "/tmp/files2/**/*",
        "dest_dir": "/home/user2"
    }
]

现在,我想遍历该列表中的每个元素,然后遍历相应fileglob中的文件,并将其复制到dest_dir

我了解如何将copywith_fileglob一起使用,但是如何取消嵌套此文件组列表?

1 个答案:

答案 0 :(得分:1)

可以在单独的文件中包含 with_fileglob 。例如

- include_tasks: copy-fileglob.yml
  loop: "{{ my_list }}"
  loop_control:
    loop_var: outer_item

$ cat copy-fileglob.yml
- copy:
    src: "{{ item }}"
    dest: "{{ outer_item.dest_dir }}"
  with_fileglob: "{{ outer_item.src_files }}"

(未经测试)