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
相关文章
|
2月前
|
弹性计算 运维 安全
阿里云轻量应用服务器与云服务器ECS啥区别?新手帮助教程
阿里云轻量应用服务器适合个人开发者搭建博客、测试环境等低流量场景,操作简单、成本低;ECS适用于企业级高负载业务,功能强大、灵活可扩展。二者在性能、网络、镜像及运维管理上差异显著,用户应根据实际需求选择。
276 10
|
8月前
|
人工智能 网络协议 Linux
MCP 协议: Streamable HTTP 是最佳选择
随着AI应用变得越来越复杂并被广泛部署,原有的通信机制面临着一系列挑战。近期MCP仓库的PR #206引入了一个全新的Streamable HTTP传输层替代原有的HTTP+SSE传输层。本文将详细分析该协议的技术细节和实际优势。
4621 100
|
7月前
|
机器学习/深度学习 数据采集 JavaScript
用深度学习提升DOM解析——自动提取页面关键区块
本文介绍了一次二手车数据爬虫事故的解决过程,从传统XPath方案失效到结合深度学习语义提取的成功实践。面对懂车帝平台的前端异步渲染和复杂DOM结构,通过Playwright动态渲染、代理IP隐藏身份,以及BERT模型对HTML块级语义识别,实现了稳定高效的字段提取。此方法抗结构变化能力强,适用于复杂网页数据采集,如二手车、新闻等领域。架构演进从静态爬虫到动态爬虫再到语义解析,显著提升效率与稳定性。
280 13
用深度学习提升DOM解析——自动提取页面关键区块
|
存储 SQL 关系型数据库
【赵渝强老师】PostgreSQL的运行日志文件
PostgreSQL的物理存储结构包括数据文件、日志文件等。运行日志默认未开启,需配置`postgresql.conf`文件中的相关参数如`log_destination`、`log_directory`等,以记录数据库状态、错误信息等。示例配置中启用了CSV格式日志,便于管理和分析。通过创建表操作,可查看生成的日志文件,了解具体日志内容。
367 3
|
运维 Linux Shell
Linux运维:批量处理远程主机
Linux运维:批量处理远程主机
400 0
|
Java 测试技术
SpringBoot 项目启动内存占用过高优化以及内存查看
SpringBoot 项目启动内存占用过高优化以及内存查看
1716 0
|
Linux 数据处理
什么是零拷贝
什么是零拷贝
|
Python Windows
python.exe和pythonw.exe之间的区别
python.exe和pythonw.exe之间的区别
Ansible模块管理——磁盘管理模块、mount模块
Ansible模块管理——磁盘管理模块、mount模块
705 0