Ansible-playbook之循环判断
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之循环判断的更多相关文章
- Ansible Playbook 使用条件判断语句
先介绍一下 gather_facts 参数,该参数用于指定在执行任务前,是否先执行 setup 模块获取主机相关信息,以便给后面的任务使用 [root@localhost ~]# ansible 19 ...
- Ansible Playbook 使用循环语句
如下,with_items 是循环的对象,with_items 是 python list 数据结构,task 会循环读取 list 里面的值,key 的名称是 item [root@localhos ...
- ansible playbook基本操作
一.ansible playbook简单使用 相当于是把模块写入到配置文件里面 vim /etc/ansible/test.yml //写入如下内容: --- - hosts: 127.0.0.1 r ...
- Ansible PlayBook语法
PlayBook语法实例 playbook是由一个或多个play组成的列表,play的主要功能在于将事先归并为一组的主机装扮成事先通过Ansible中的tasks定义好的角色(play的内容被称为ta ...
- ansible playbook详解
ansible playbook是由yml语法书写,结构清晰,可读性强,所以必须掌握yml基础语法 语法 描述 缩进 YAML使用固定的缩进风格表示层级结构,每个缩进由两个空格组成,不能使用tabs键 ...
- Ansible playbook 编程
Ansible playbook 编程详解与各种小案例 主机规划 添加用户账号 说明: 1. 运维人员使用的登录账号: 2. 所有的业务都放在 /app/ 下「yun用户的家目录」,避免业务数据乱放: ...
- ansible笔记(10):初识ansible playbook
ansible笔记():初识ansible playbook 假设,我们想要在test70主机上安装nginx并启动,我们可以在ansible主机中执行如下3条命令 ansible test70 -m ...
- ansible playbook模式及语法
一.什么是playbook及其组成 什么是playbook playbook 翻译过来就是"剧本" playbook的组成 play:定义的是主机的角色 task:定义的是具体执行 ...
- ansible playbooks loop循环
在一个task中循环某个操作 1.标准循环 - name: add several users user: name: "{{ item }}" state: present gr ...
- ansible - playbook(剧组)
目录 ansible - playbook(剧组) 常用命令 五种传参方式 常用元素详解 tags handlers template when 循环 嵌套循环 ansible - playbook( ...
随机推荐
- VLAN实验4(在eNSP上利用单臂路由实现VLAN间路由)
原理概述: 以太网中,通常会使用VLAN技术隔离二层广播域来减少广播的影响*并增强 网络的安全性和可管理性.其缺点足同时也严格地隔离了不同VLAN之间的任何二层流量,使分属于不同VLAN的用户 不能直 ...
- Vue 一个注册页面有省市联动
var vm = new Vue({ el: '#complete-info', data: { provinceList: [], selectedProvince: "", c ...
- uni-app中使用scroll-view滚到底部时多次触发scrolltolower事件
一.前言.scroll-view基本属性: 前言: 前段时间使用scroll-view可滚动视图区域容器来做多个不同内容的展示(在我这个页面中同时使用了三个scroll-view做数据展示),因为这几 ...
- 服务器RAID技术基础
RAID ( Redundant Array of Independent Disks )即独立磁盘冗余阵列,通常简称为磁盘阵列 一.RAID主要优势 大容量: 这是 RAID 的一个显然优势,它扩大 ...
- nginx反向代理、负载均衡
什么叫反向代理? A用户--> B(在和C同一个机房,并且有公网)--> C(不带公网的机器) 什么场景下会用到反向代理? 1.访问不带公网的内网机器 2.解决两台之间通信有障碍的问题 编 ...
- EditText 无法失焦与失焦后键盘不收缩解决方案
背景 有一个需求,比方说下图: 点击了上图的Image 区域才可以编辑. 那么我首先想到的就是: android:focusable="false" 不让它获取到焦点不就ok吗? ...
- Zookeeper Watcher接口
在ZooKeeper中,接口类Watcher用于表示一个标准的事件处理器,其定义了事件通知相关的逻辑,包含KeeperState和EventType两个枚举类,分别代表了通知状态和事件类型,同时定义了 ...
- CoderForces Round526 (A~E)题解
A. The Fair Nut and Elevator time limit per test 1 second memory limit per test 256 megabytes input ...
- 赌十包辣条,你一定没见过这么通透的ThreadLocal讲解
1.看个热闹 鉴于普罗大众都喜欢看热闹,咱们先来看个热闹再开工吧! 场景一: 中午了, 张三.李四和王五一起去食堂大菜吃饭.食堂刚经营不久,还很简陋,负责打菜的只有一位老阿姨. 张三:我要一份鸡腿. ...
- 解决pyinstaller在单一文件时无法正确添加权限清单问题,(UAC,uac_admin,manifest,asInvoker,python,requireAdministrator)
做了3天的win10的兼容性测试,大部分时间都卡权限获取这了. 以下废话很多,想直接找解决方法,请跳至红字 首先,简单说下uac,自vista后windows再次加严了权限管理,uac (账户控制) ...