with_fileglob
是 Ansible 的循环迭代器,用于在任务中对文件进行模式匹配并迭代处理。它可以用于从本地文件系统中选择匹配特定模式的文件,并将它们作为迭代项传递给任务。
以下是 with_fileglob
的基本用法示例:
- name: Process files
<module_name>:
src: "{{ item }}"
with_fileglob: "<file_pattern>"
在上述示例中,<module_name>
是要执行的模块名称,例如 copy
、template
、lineinfile
等。src
参数是模块特定的源文件路径参数,用于指定要处理的文件。<file_pattern>
是用于文件模式匹配的通配符模式,可以包含路径和文件名的模式。
with_fileglob
将根据 <file_pattern>
模式匹配当前主机上的文件,并将匹配的文件作为迭代项传递给任务。任务将使用每个文件路径执行一次,以完成相应的操作。
以下是一个具体的示例,使用 copy
模块将匹配的文件复制到目标位置:
- name: Copy files
copy:
src: "{{ item }}"
dest: "/path/to/destination/"
with_fileglob: "/path/to/files/*.txt"
在上述示例中,copy
模块将匹配 /path/to/files/
目录下的所有 .txt
文件,并将它们复制到 /path/to/destination/
目录中。
请注意,with_fileglob
是 Ansible 2.5 版本引入的功能,如果你使用的是较旧版本的 Ansible,可能不支持该功能。