ansible-playbook之block

简介:

Ansible在2.0版本引入块功能,块功能可以将任务进行分组,并且可以块级别上应用任务变量,同时支持在块内进行异常处理

常用语法:

    - block:定义块

      rescue:当出现异常时,执行的语句

      always:无论结果如何都要执行的语句

块用法示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
[root@nfs-server playbook] # cat block.yml 
---
- hosts: webservers
   remote_user: root
   gather_facts: True
   tasks:
   - block:
       - service: name={{ item }} state=stopped
         with_items:
           - nginx
           - httpd
           - memcached
         tags:
           - stop_application
       - yum: name={{ item }} state=absent
         with_items:
           - nginx
           - httpd
           - memcached
         tags:
           - remove_soft
     when: ansible_os_family ==  'RedHat'
[root@nfs-server playbook] # ansible-playbook block.yml
 
PLAY [webservers] **************************************************************************************************************************************
 
TASK [Gathering Facts] *********************************************************************************************************************************
ok: [192.168.2.111]
ok: [192.168.2.101]
 
TASK [service] *****************************************************************************************************************************************
changed: [192.168.2.101] => (item=nginx)
changed: [192.168.2.111] => (item=nginx)
ok: [192.168.2.101] => (item=httpd)
ok: [192.168.2.111] => (item=httpd)
changed: [192.168.2.111] => (item=memcached)
changed: [192.168.2.101] => (item=memcached)
 
TASK [yum] *********************************************************************************************************************************************
changed: [192.168.2.101] => (item=[u 'nginx' , u 'httpd' , u 'memcached' ])
changed: [192.168.2.111] => (item=[u 'nginx' , u 'httpd' , u 'memcached' ])
 
PLAY RECAP *********************************************************************************************************************************************
192.168.2.101              : ok=3    changed=2    unreachable=0    failed=0   
192.168.2.111              : ok=3    changed=2    unreachable=0    failed=0


 本文转自激情燃烧的岁月博客51CTO博客,原文链接http://blog.51cto.com/liuzhengwei521/1962666如需转载请自行联系原作者

weilovepan520
相关文章
|
消息中间件 存储 监控
五分钟快速了解Airflow工作流
简介 Airflow是一个以编程方式创作、调度和监控工作流的平台。 使用 Airflow 将工作流创作为有向无环图(DAG)任务。 Airflow 调度程序按照你指定的依赖项在一组workers上执行您的任务。同时,Airflow拥有丰富的命令行实用程序使得在DAG上进行复杂的诊断变得轻而易举。并且提供了丰富的用户界面使可视化生产中运行的工作流、监控进度和需要排查问题时变得非常容易。 当工作流被定义为代码时,它们变得更易于维护、可版本化、可测试和协作。
|
算法 机器学习/深度学习 数据安全/隐私保护
murmur3哈希算法
murmur3哈希算法 murmur3非加密哈希算法 murmur3非加密哈希算法导图 据算法作者Austin Appleby描述,有c1, c2, n 三个常量用大量测试数据调测出来的,可以对数值进行微调。
14644 0
|
4月前
|
机器学习/深度学习 数据采集 JavaScript
用深度学习提升DOM解析——自动提取页面关键区块
本文介绍了一次二手车数据爬虫事故的解决过程,从传统XPath方案失效到结合深度学习语义提取的成功实践。面对懂车帝平台的前端异步渲染和复杂DOM结构,通过Playwright动态渲染、代理IP隐藏身份,以及BERT模型对HTML块级语义识别,实现了稳定高效的字段提取。此方法抗结构变化能力强,适用于复杂网页数据采集,如二手车、新闻等领域。架构演进从静态爬虫到动态爬虫再到语义解析,显著提升效率与稳定性。
138 13
用深度学习提升DOM解析——自动提取页面关键区块
|
KVM 虚拟化
KVM虚拟机的桥接网络
文章主要介绍了KVM虚拟机的NAT和桥接网络类型的工作原理、配置方法以及如何进行网络模式的切换。
380 3
KVM虚拟机的桥接网络
|
应用服务中间件 nginx
如何通过Nginx配置将请求转发到conf.d目录下的各个配置文件
如何通过Nginx配置将请求转发到conf.d目录下的各个配置文件
1033 2
|
供应链 监控 算法
ERP系统中的库存优化与成本控制解析
【7月更文挑战第25天】 ERP系统中的库存优化与成本控制解析
978 2
|
运维 Linux Shell
Linux运维:批量处理远程主机
Linux运维:批量处理远程主机
252 0
|
Linux
CentOS 7 配置yum阿里源 (三步即可)
CentOS 7 配置yum阿里源 (三步即可)
23675 1
|
Oracle 固态存储 NoSQL
阿里云服务器ESSD云盘性能级别PL0、PL1、PL2和PL3区别参考
阿里云ESSD云盘分为PL0、PL1、PL2和PL3四种性能级别,ESSD云盘PL性能级别不同单盘IOPS性能上限也不同,ESSD云盘容量大小不同可选性能级别不同,阿里云百科来详细说下阿里云服务器ESSD云盘性能级别及对应的单盘IOPS性能上限说明:
790 1
|
Python Windows
python.exe和pythonw.exe之间的区别
python.exe和pythonw.exe之间的区别