1.循环 (loop)

# 使用循环创建硬连接:x连接到y;z连接到k;
- hosts: web
- name: Create two hard links
file:
src: "{{ item.src }}"
dest: "{{ item.dest }}"
state: hard
loop:
- "{ src: x , dest: y }"
- "{ src: z , dest: k }"
# 使用循环修改rsync配置文件
- hosts: rsync
- name:
copy:
src: "{{ item.src }}"
dest: "{{ item.dest }}"
mode: "{{ item.mode }}"
loop:
- "{ src: ./rsyncd.conf.j2 , dest: /etc/rsyncd.conf , mode: '0644' }"
- "{ src: ./rsyncd.passwd.j2 , dest: /etc/rsync.passwd , mode: '0600' }"
# 使用循环启动多个服务
- hosts: web
tasks:
- name: Systemd nginx and firewalld
systemd:
name: "{{ item }}"
state: started
enabled: yes
loop:
- nginx
- firewalld

2.判断 (when)

# 根据不同的操作系统,安装不同的软件
- hosts: all
tasks:
- name: Installed nginx in centos
yum:
name: nginx
state: present
# 当操作系统是CentOS并且是7版本时执行以上操作
when: ( ansible_distribution == "CentOS" ) and ( ansible_distribution_major_version == "7" )
# 根据不同的主机名称,配置不同的源
- hosts: all
tasks:
- name: Install repositories
yum_repository:
description: nginx.repo
baseurl: http://nginx.org/packages/centos/ $releasever/$basearch/
# 判断,只有web主机组能执行以上操作
when: (ansible_hostname is match ("web*") )

Ansible-playbook之循环判断的更多相关文章

  1. Ansible Playbook 使用条件判断语句

    先介绍一下 gather_facts 参数,该参数用于指定在执行任务前,是否先执行 setup 模块获取主机相关信息,以便给后面的任务使用 [root@localhost ~]# ansible 19 ...

  2. Ansible Playbook 使用循环语句

    如下,with_items 是循环的对象,with_items 是 python list 数据结构,task 会循环读取 list 里面的值,key 的名称是 item [root@localhos ...

  3. ansible playbook基本操作

    一.ansible playbook简单使用 相当于是把模块写入到配置文件里面 vim /etc/ansible/test.yml //写入如下内容: --- - hosts: 127.0.0.1 r ...

  4. Ansible PlayBook语法

    PlayBook语法实例 playbook是由一个或多个play组成的列表,play的主要功能在于将事先归并为一组的主机装扮成事先通过Ansible中的tasks定义好的角色(play的内容被称为ta ...

  5. ansible playbook详解

    ansible playbook是由yml语法书写,结构清晰,可读性强,所以必须掌握yml基础语法 语法 描述 缩进 YAML使用固定的缩进风格表示层级结构,每个缩进由两个空格组成,不能使用tabs键 ...

  6. Ansible playbook 编程

    Ansible playbook 编程详解与各种小案例 主机规划 添加用户账号 说明: 1. 运维人员使用的登录账号: 2. 所有的业务都放在 /app/ 下「yun用户的家目录」,避免业务数据乱放: ...

  7. ansible笔记(10):初识ansible playbook

    ansible笔记():初识ansible playbook 假设,我们想要在test70主机上安装nginx并启动,我们可以在ansible主机中执行如下3条命令 ansible test70 -m ...

  8. ansible playbook模式及语法

    一.什么是playbook及其组成 什么是playbook playbook 翻译过来就是"剧本" playbook的组成 play:定义的是主机的角色 task:定义的是具体执行 ...

  9. ansible playbooks loop循环

    在一个task中循环某个操作 1.标准循环 - name: add several users user: name: "{{ item }}" state: present gr ...

  10. ansible - playbook(剧组)

    目录 ansible - playbook(剧组) 常用命令 五种传参方式 常用元素详解 tags handlers template when 循环 嵌套循环 ansible - playbook( ...

随机推荐

  1. ios中日期处理

  2. mybatis中因为不理解$与#而出现的bug

    最近项目中遇到一个bug,正常的流程是这样的:要上传一个应用,首先检查系统中是否已经存在这个应用的更高版本,如果存在,则上传操作将被取消. bug体现为当传入系统中存在的所有应用与新上传的应用的ver ...

  3. 【HUAWEI Mate30】抽奖啦!华为IoT新福利上线!

    华为云OceanConnect IoT云服务包括应用管理.设备管理.系统管理等能力,实现统一安全的网络接入.各种终端的灵活适配.海量数据的采集分析,从而实现新价值的创造. 华为云OceanConnec ...

  4. 转:Spring Boot启动过程

    之前在排查一个线上问题时,不得不仔细跑了很多遍Spring Boot的代码,于是整理一下,我用的是1.4.3.RELEASE. 首先,普通的入口,这没什么好说的,我就随便贴贴代码了: SpringAp ...

  5. 源码分析 RocketMQ DLedger 多副本存储实现

    目录 1.DLedger 存储相关类图 1.1 DLedgerStore 1.2 DLedgerMemoryStore 1.3 DLedgerMmapFileStore 2.DLedger 存储 对标 ...

  6. 洛谷 P1920 成功密码 题解

    这是蒟蒻的第一篇题解,(之前的都没过,估计这篇也过不了 回到正题 这题,本蒟蒻第一眼看到以后,就决定咦,这不是模拟吗? 看到世界范围,嗯,打扰了. 扯回正题 首先,暴力肯定是A不了的(至少我A不了 但 ...

  7. CF1236B Alice and the List of Presents

    题意翻译 有nn种物品和mm个背包,每种物品有无限个,现将若干个物品放到这些背包中,满足: 1.每个背包里不能出现相同种类的物品(允许有空背包): 2.在所有的mm个背包中,每种物品都出现过. 求方案 ...

  8. CF372C Watching Fireworks is Fun(单调队列优化DP)

    A festival will be held in a town's main street. There are n sections in the main street. The sectio ...

  9. 1、在aspx.cs后台Response.Write()跳转路径,打开新窗口

    1.Response.Write()打开新窗口 Response.Write(" <script type='text/JavaScript'>window.open('&quo ...

  10. unity3d 柏林噪声 PerlinNoise 规律 算法

    测试 每个小数值取100次 print(0.1); LaTest3(0.1f, 0.1f); print("Max:" + La.Max() + "|Min:" ...