ansible copy 模块 loop循环
时间: 2023-07-20 08:21:52 浏览: 202
Ansible的copy模块可以用来将文件或目录从本地复制到目标主机上。同时,它也支持使用loop循环来复制多个文件或目录。
以下是一个使用loop循环复制多个文件的示例:
```
- name: Copy multiple files
copy:
src: "{{ item.src }}"
dest: "{{ item.dest }}"
loop:
- { src: "/path/to/file1", dest: "/remote/path/to/file1" }
- { src: "/path/to/file2", dest: "/remote/path/to/file2" }
- { src: "/path/to/file3", dest: "/remote/path/to/file3" }
```
在这个例子中,copy模块被循环调用三次,每次复制一个文件。每个循环迭代都提供了src和dest参数的不同值。
需要注意的是,如果要在循环中使用变量,需要使用{{ item.variable_name }}语法来访问它们。例如:
```
- name: Copy files with loop and variables
copy:
src: "{{ item.src }}"
dest: "{{ item.dest }}"
loop:
- { src: "/path/to/{{ file1 }}", dest: "/remote/path/to/{{ file1 }}" }
- { src: "/path/to/{{ file2 }}", dest: "/remote/path/to/{{ file2 }}" }
```
在这个例子中,变量file1和file2是通过其他任务定义的。在循环中,它们被插入到src和dest参数中以构建文件路径。
阅读全文