Linux——ansible中handlers

理解

1.按照已有的剧本写法

如果要完成下面这些操作:

  1)安装软件包:mysql,httpd,mysql-server,php

  2)复制配置文件:web,db,php

  3)后续追加配置文件:web额外的配置

如何编排剧本里的task

可能就是写成:

  tasks:

- name: 安装软件包

- name: copy

- name: 先启动mysql

- name: 再启动httpd

- name: 给nginx或httpd追加配置文件

- name: 重启服务

    ……

2.如果task数量非常多

会有一些问题

  1)不同类型的任务混在一起,都在tasks里

  2)如果task之间顺序编排不合适,最后整个任务没法成功

  3)如果剧本,后续往里面额外添加任务,也可能造成整个剧本改task顺序

     新加的任务,可能需要额外的服务重启 

 3.1)后续的任务,可能不是改原剧本,有可能是写新剧本

3.要有一些处理办法,需要

  1)让剧本内容,可以大致分类分块写

  2)让需要按顺序完成的工作,单独编排

     比如,按顺序重启一系列服务

  3)额外添加的任务造成的后续操作,比如必须重启服务生效

     变成触发动作,不影响tasks部分主体顺序

4.处理办法、技术

ansible剧本中的:处理程序

做法

  1)在每个相关task末尾,加一段notify,指定一个要触发程序的名字

     tasks的顺序,不影响handlers的顺序

  2)在整个剧本最后,和tasks平级

     添加handlers部分

  3)在handlers里,按顺序写每一个要触发的程序

     名称,和每个对应notify里的名称一样

5.于是……稍复杂一点的项目

  1)会有多个剧本,剧本之间,有运行的顺序

  2)每个剧本里,task之间,也有顺序

  3)每个task都可能有notify,对应的handlers里每个程序,也有顺序

4)比如:

4.1)剧本顺序:playbooka.yml

                   playbookb.yml

4.2)在运行playbooka的时候

     如果有多个play,会按顺序执行

  4.2.1)先play1

         tasks

           1  有notify,指向hand1

           2

           3  有notify,执行hand2

         handlers,整体在tasks之后执行

           根据编写的顺序执行

             先hand2

             后hand1

  4.2.2)再play2

         tasks

         handlers

         ……

4.3)再运行playbookb

     ……

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/31139.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构—排序、查找、图论和字符串算法之Java实例

一:引言 在编程的海洋中,算法是程序员的灵魂之光。它们不仅指引着代码的前进方向,更能解决难题,提升效率。虽然各式各样的算法琳琅满目,但其中有一些却是每位程序员必定会遇到且应当深刻掌握的。本文将带您走进这些至…

一个简单好用安全的开源交互审计系统,支持SSH,Telnet,Kubernetes协议

前言 在当今的企业网络环境中,远程访问和交互审计成为了保障网络安-全的重要组成部分。然而,现有的解-决方案往往存在一些痛点,如复杂的配置、有限的协议支持、以及审计功能的不足。这些问题不仅增加了IT管理员的负担,也为企业的…

【arm扩容】docker load -i tar包 空间不足

背景: 首先我在/home/nvidia/work下导入了一些镜像源码tar包。然后逐个load进去。当我 load -i dev-aarch64-18.04-20210423_2000.tar包的时候,出现 Error processing tar file(exit status 1): write /9818cf5a7cbd5a828600d9a4d4e62185a7067e2a6f2ee…

聚合函数和开窗函数中order by结合使用时,窗口区间不是完整区间

hive踩坑笔记 —— 开窗函数为聚合函数时,加order by 与不加 order by的区别_order by sum举例子-CSDN博客 文章中说,混用时窗口区间等价于 rows between unbounded preceding and current row ,测试时表象与此描述不一致,如max&a…

【每日刷题】Day71

【每日刷题】Day71 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. 牛群分隔 2. 912. 排序数组 - 力扣(LeetCode) 3. 791. 自定义字符串排序 -…

C语言 | Leetcode C语言题解之第169题多数元素

题目&#xff1a; 题解&#xff1a; int majorityElement(int* nums, int numsSize) {int ans 0;for (int i 0, cnts 0; i < numsSize; i) {if (nums[i] ans) {cnts;} else if (cnts 0) {ans nums[i];} else {cnts--;}}return ans; }

数据结构经典面试之数组——C#和C++篇

文章目录 1. 数组的基本概念与功能2. C#数组创建数组访问数组元素修改数组元素数组排序 3. C数组创建数组访问数组元素修改数组元素数组排序 4. 数组的实际应用与性能优化5. C#数组示例6. C数组示例总结 数组是编程中常用的数据结构之一&#xff0c;它用于存储一系列相同类型的…

基于.NET开源跨平台的文档管理系统

前言 今天大姚给大家分享一款基于.NET8开源&#xff08;MIT License&#xff09;、免费、跨平台的文档管理系统&#xff1a;Dorisoy.Pan。 官方项目介绍 Dorisoy.Pan是一款基于.NET8开源&#xff08;MIT License&#xff09;、免费、跨平台文档管理系统&#xff0c;使用MS S…

使用Python进行Web开发:从基础到实战

使用Python进行Web开发:从基础到实战 Python不仅是一门数据科学的利器,也是一门强大的Web开发语言。得益于其简洁的语法和丰富的生态系统,Python在Web开发领域同样大放异彩。本文将介绍Python在Web开发中的基础知识、常用框架以及一个完整的实战项目,帮助读者从基础入门到…

CDP问卷的目的是什么?CDP问卷对企业有什么好处

CDP问卷&#xff08;Carbon Disclosure Project问卷&#xff09;的目的是多方面的&#xff0c;主要包括以下几点&#xff1a; 推动透明度&#xff1a;CDP问卷要求企业公开披露其温室气体排放数据、减排目标和行动&#xff0c;以及气候风险管理策略等信息。这有助于增强企业的透…

字符串逆序(递归实现)

目录 代码要求 代码实现 代码逻辑 逆序字符串&#xff0c;不使用递归实现&#xff08;推荐&#xff09; 代码要求 编写一个函数reverse_string(char* string) &#xff08;递归实现&#xff09;实现&#xff1a;将参数字符串中的字符反向排列&#xff0c;不是逆序打印要求&…

并发锁机制

JDK1.6 synchronized &#xff08;底层是由C实现的&#xff09;&#xff1a; synchronized: 互斥锁&#xff0c;悲观 锁&#xff0c;同步锁&#xff0c;重量级锁&#xff08;耗性能&#xff09;&#xff0c;多线程使用重量级锁很容易发生线程阻塞&#xff0c;因为涉及到多个线程…

华为数通——OSPF

正掩码&#xff1a;/24 255.255.255.0 反掩码&#xff1a; 255.255.255.255 -255.-255.-255.0 0.0.0.255 例如掩码&#xff1a;255.255.252.0 反掩码&#xff1a;0.0.3.255 在反掩码里面&#xff0c;0 bit 表示精确匹配&#xff0c;1…

养车小程序系统源码,汽修源码,仿途虎养车系统源码,车辆保养小程序系统

用户端&#xff0b;商家端&#xff0b;师傅端 功能介绍: 支持下单上门服务、到店核销&#xff0c;支持单独选择项目、 也支持选择服务人员、和选择门店多种下单方式&#xff0c; 支持上门服务和到店核销两种服务方式&#xff0c;支持自营和多商家联营两种运营模式&#xff…

uni-app中的css3选择器使用

2.给 view 添加样式 .box view{ font-size: 40upx; color: #8A6DE9; } 3.想改变某一个view 样式 .box>view:nth-child(1){ background: #09BB07; } .box>view:nth-child(2){ background: red; } .box>view:nth-child(3){ background: yellow; } 注意&am…

curl命令使用

curl http://localhost/action.php -I curl http://localhost/action.php -X HEAD multipart/form-data 形式的 form 上传文件 curl -F "filename/home/test/file.tar.gz" http://localhost/action.php 用 -d 参数&#xff0c;这时curl会以application/x-www-url-e…

【投稿优惠|稳定出版】2024年体育、健康与食品安全国际学术会议(ICSHFS 2024)

【投稿优惠|稳定出版】2024年体育、健康与食品安全国际学术会议&#xff08;ICSHFS 2024&#xff09; 2024 International Conference on Sports, Health, and Food Safety(ICSHFS 2024) 会议简介&#xff1a; 2024年体育、健康与食品安全国际学术会议&#xff08;ICSHFS 2024…

Linux bash: /usr/local/gcc/bin/gcc: 不是目录

ln -s /usr/local/bin/gcc /usr/bin/gcc ln -s /usr/local/bin/g /usr/bin/g 创建的软连接不生效 问题&#xff1a; [rootdev003 local]# gcc -v bash: /usr/local/gcc/bin/gcc: 不是目录 或者 [rootdev003 local]# gcc -v bash: /usr/local/bin/gcc: 没有那个文件或目录 解决&…

Java项目学习(员工管理)

新增、员工列表、编辑员工整体代码流程与登录基本一致。 1、新增员工 RestController RequestMapping("/admin/employee")EmployeeController 类中使用了注解 RestController 用于构建 RESTful 风格的 API&#xff0c;其中每个方法的返回值会直接序列化为 JSON 或…

(纯原创)基于SSM的网上购物平台(完整源代码以及开发文档)

摘要 网上购物和计算机的飞速发展以及人们生活节奏的不断加快&#xff0c;网购已经逐渐融入了人们的日常生活当中&#xff0c;网上商城作为网购一种平台&#xff0c;已被大众逐渐接受。因此开发一个网上商城系统&#xff0c;适合当今形势&#xff0c;更加方便人们在线购物。…