24.25 playbook中的条件判断
ansible_ens33.ipv4.address 分级写法
---
- hosts: aguanghost
user: root
gather_facts: True
tasks:
- name: use when
shell: touch /tmp/when.txt
when: ansible_ens33.ipv4.address == "192.168.30.140"
24.26 playbook中的handlers
相当于shell 里面的&& 当 tasks任务执行成功,才会执行handlers
---
- name: handlers1 test1
hosts: aguanghost
user: root
tasks:
- name: copy file
copy: src=/etc/passwd dest=/tmp/aaa.txt
notify: test1 handlers1
handlers:
- name: test1 handlers1
shell: echo "111111" >> /tmp/aaa.txt
24.27 用playbook安装nginx(上)
1.准备相关的文件夹目录
2.准备相关编译的文件
定义common 的tasks , 解决nginx需要的一此依赖包
定义变量
把所有用到的文档拷贝到目标机器
源文件不写绝对路径是因为会自动寻找相关的目录
24.28 用playbook安装nginx(下)
创建总的文件调用copy.yml 和 install.yml 文件
配置入口文件
由于客户端上之前已装过httpd 占用了80端口,要先卸载
1、之前编译安装的清理办法:
find / -name “nginx*” -exec rm -rf {} ;
2、如果是之前yum安装的清理办法:
#rpm -qa nginx
#yum remove -y nginx
rm /etc/init.d/nginx
总结:
24.29 playbook管理配置文件(上)
new 为更新用
old 为回滚用
拷贝nginx 配置文件到指定目录
配置管理文件
1.
2.
4.定义总入口配置文件
测试变更
24.30 playbook管理配置文件(下)
配置回滚
- 在做变更之前, 把 files 目录的里做了变更的文件,把文件先备份
配置回滚配置文件
vim rollback.yml