ansible任务控制-循环语句with_items
ansible任务控制-循环语句with_items使用场景为当我们要对某一些任务需要批量处理,例如重启服务,如果使用原先的service模块是只能写一个服务的,再比如使用copy或者template模块拷贝文件或目录,单个模块只能拷贝一个文件,这个时候就需要用到循环了
使用示例
使用示例1,使用service模块同时重启2个服务
编辑yml文件
cat > task_with_items.yml EOF
- hosts: devops01
  tasks:
    - name: restart nginx mysql
      service:
        name: 
          "{{ item }}"
        state:
          restarted
      with_items:
        - nginx
        - mysqld 
EOF        
执行yml文件
$ ansible-playbook task_with_items.yml 
PLAY [devops01] ****************************************************************************************************************************************
TASK [Gathering Facts] *********************************************************************************************************************************
ok: [devops01]
TASK [restart nginx mysql] *****************************************************************************************************************************
changed: [devops01] => (item=nginx)
changed: [devops01] => (item=mysqld)
PLAY RECAP *********************************************************************************************************************************************
devops01                   : ok=2    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0