学习b记 · 第二阶段
十六、Ansible流程控制
1、playbook条件语句
不管是shell还是各大编程语言中,流程控制,条件判断这些都是必不可少的,在我们使用Ansible的过程中,条件判断的使用频率极其高。
例如:
1)我们使用不同的系统的时候,可以通过判断系统来对软件包进行安装。
2)在nfs和rsync安装过程中,客户端服务器不需要推送配置文件,之前我们都是写多个play,会影响效率。
3)我们在源码安装nginx的时候,执行第二遍就无法执行了,此时我们就可以进行判断是否安装过。
1、vim
- hosts: webs
tasks:
- name: Yum
yum:
name: wget
state: absent
when: ansible_hostname == "web01"
[root@m01 ansible]
playbook: when.yml
[root@m01 ansible]
PLAY [webs] **********************************************************************************************************
TASK [Gathering Facts] ***********************************************************************************************
ok: [172.16.1.202]
ok: [172.16.1.204]
TASK [Yum] ***********************************************************************************************************
skipping: [172.16.1.204]
changed: [172.16.1.202]
PLAY RECAP ***********************************************************************************************************
172.16.1.202 : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored