模板/tmp/tpl.j2
{{ item.var1 }}
{{ item.var2}}
ansible-playbook
- hosts:
- "127.0.0.1"
tasks:
- name: loop
shell: "echo {{ item.var1 }}{{ item.var2 }}"
loop:
- { var1: "zz", var2: "cc" }
- { var1: "zz1", var2: "cc" }
- { var1: "zz2", var2: "cc" }
- name: template multi files
template:
src: "/tmp/tpl.j2"
dest: "/tmp/{{ item.var1 }}.{{ item.var2 }}"
loop:
- { var1: "zz", var2: "cc" }
- { var1: "zz1", var2: "cc" }
- { var1: "zz2", var2: "cc" }
执行效果
root@yeqiang-PC:/tmp# ansible-playbook -vv loop.yml
ansible-playbook 2.7.7
config file = /etc/ansible/ansible.cfg
configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3/dist-packages/ansible
executable location = /usr/bin/ansible-playbook
python version = 3.7.3 (default, Apr 2 2021, 05:20:44) [GCC 8.3.0]
Using /etc/ansible/ansible.cfg as config file
/etc/ansible/hosts did not meet host_list requirements, check plugin documentation if this is unexpected
/etc/ansible/hosts did not meet script requirements, check plugin documentation if this is unexpected
PLAYBOOK: loop.yml *************************************************************************************************************************************************************************************************************************************************************************
1 plays in loop.yml
PLAY [127.0.0.1] ************************************************************************************************************************************************************************************************************************************************************************
TASK [Gathering Facts] *********************************************************************************************************************************************************************************************************************************************************************
task path: /tmp/loop.yml:1
ok: [127.0.0.1]
META: ran handlers
TASK [loop] ********************************************************************************************************************************************************************************************************************************************************************************
task path: /tmp/loop.yml:4
changed: [127.0.0.1] => (item={'var1': 'zz', 'var2': 'cc'}) => {"changed": true, "cmd": "echo zzcc", "delta": "0:00:00.001115", "end": "2021-06-07 16:47:32.799161", "item": {"var1": "zz", "var2": "cc"}, "rc": 0, "start": "2021-06-07 16:47:32.798046", "stderr": "", "stderr_lines": [], "stdout": "zzcc", "stdout_lines": ["zzcc"]}
changed: [127.0.0.1] => (item={'var1': 'zz1', 'var2': 'cc'}) => {"changed": true, "cmd": "echo zz1cc", "delta": "0:00:00.000982", "end": "2021-06-07 16:47:32.890318", "item": {"var1": "zz1", "var2": "cc"}, "rc": 0, "start": "2021-06-07 16:47:32.889336", "stderr": "", "stderr_lines": [], "stdout": "zz1cc", "stdout_lines": ["zz1cc"]}
changed: [127.0.0.1] => (item={'var1': 'zz2', 'var2': 'cc'}) => {"changed": true, "cmd": "echo zz2cc", "delta": "0:00:00.000997", "end": "2021-06-07 16:47:32.979034", "item": {"var1": "zz2", "var2": "cc"}, "rc": 0, "start": "2021-06-07 16:47:32.978037", "stderr": "", "stderr_lines": [], "stdout": "zz2cc", "stdout_lines": ["zz2cc"]}
TASK [template multi files] ****************************************************************************************************************************************************************************************************************************************************************
task path: /tmp/loop.yml:10
changed: [127.0.0.1] => (item={'var1': 'zz', 'var2': 'cc'}) => {"changed": true, "checksum": "634b523cbe46cc68046cdf8128e3f90b8c88e900", "dest": "/tmp/zz.cc", "gid": 0, "group": "root", "item": {"var1": "zz", "var2": "cc"}, "md5sum": "f0b91adfa31e3cbd9a3b45bbfea6a21a", "mode": "0644", "owner": "root", "size": 6, "src": "/root/.ansible/tmp/ansible-tmp-1623055653.0152853-157260989696332/source", "state": "file", "uid": 0}
changed: [127.0.0.1] => (item={'var1': 'zz1', 'var2': 'cc'}) => {"changed": true, "checksum": "3b095f6ca5fcb7341254ebed95c0c9c4c334177b", "dest": "/tmp/zz1.cc", "gid": 0, "group": "root", "item": {"var1": "zz1", "var2": "cc"}, "md5sum": "659d492237d99194471c9e5e20c15117", "mode": "0644", "owner": "root", "size": 7, "src": "/root/.ansible/tmp/ansible-tmp-1623055653.2693186-19476235127423/source", "state": "file", "uid": 0}
changed: [127.0.0.1] => (item={'var1': 'zz2', 'var2': 'cc'}) => {"changed": true, "checksum": "b896d3281b8ba20d6fe5b5d210bb4adb7d3169bd", "dest": "/tmp/zz2.cc", "gid": 0, "group": "root", "item": {"var1": "zz2", "var2": "cc"}, "md5sum": "ee7137fc169b861aeac65672170ebd59", "mode": "0644", "owner": "root", "size": 7, "src": "/root/.ansible/tmp/ansible-tmp-1623055653.437552-197242916962305/source", "state": "file", "uid": 0}
META: ran handlers
META: ran handlers
PLAY RECAP *********************************************************************************************************************************************************************************************************************************************************************************
127.0.0.1 : ok=3 changed=2 unreachable=0 failed=0
root@yeqiang-PC:/tmp# cat /tmp/zz
zz1.cc zz2.cc zz.cc
root@yeqiang-PC:/tmp# cat /tmp/zz.cc
zz
cc
root@yeqiang-PC:/tmp# cat /tmp/zz1.cc
zz1
cc