Ansible使用基础之handlers触发器

Ansible的Handlers是一种触发机制,当指定任务状态改变时,执行预设的操作,无需修改后续任务。例如,当需要在http服务安装后修改端口并立即重启服务时,使用Handlers比直接修改任务更灵活。Handlers需与notify配合,通知名称需与handler的name匹配,并且放置在tasks同级。这种设计使playbook扩展性更强。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在playbook的任务执行过程中,有些任务的状态每次都会发生变化,当需要根据变化做出响应,而不用更改后续任务时,handlers是一个不错的选择。

一、handlers有何作用?

handlers意为触发器,与notify搭配使用对某个子任务进行监听,当其状态发生变化时,执行定义的额外动作使用handlers,无需更改后续任务,便可增加额外的功能,playbook的功能扩展更为灵活。

二、实例

在前文Ansible使用基础之playbook模式的讲解中,以安装http服务器为例进行讲解。原playbook如下图所示:
原方案

现有额外需求如下。
需求: http安装完成后,现需将监听端口由默认的80,该为8080

  • 方案一
    在本地修改配置文件后,照旧使用copy模块传到任务主机,之后将后面的start httpd 任务改为 restart httpd
    在这里插入图片描述

  • 方案二
    使用handlers,在传送配置文件完成后,立即重启http服务。更改如下:
    使用handlers
    对比两种方案,可见,使用handlersplaybook能够进行更为灵活的扩展。

三、注意事项
  • notify后的名称需与handlers中定义的name一致
  • handlers与tasks同级
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值