Linux自动化运维(Shell与Ansible)(微课版) 课件 9-3-实施处理程序_第1页
Linux自动化运维(Shell与Ansible)(微课版) 课件 9-3-实施处理程序_第2页
Linux自动化运维(Shell与Ansible)(微课版) 课件 9-3-实施处理程序_第3页
Linux自动化运维(Shell与Ansible)(微课版) 课件 9-3-实施处理程序_第4页
Linux自动化运维(Shell与Ansible)(微课版) 课件 9-3-实施处理程序_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

自动化任务控制任务3:实施处理程序目录/Contents0102定义处理程序监听处理程序01定义处理程序定义处理程序处理程序是响应由其他任务触发的通知的任务,仅当任务在受管主机上更改了某些内容时,任务才通知其处理程序。每个处理程序都具有全局唯一的名称,在Playbook中任务块的末尾触发。如果没有任务通过名称通知处理程序,处理程序就不会运行。Ansible处理程序使用handlers关键字来定义,其基本语法与Playbook任务定义的类似,每个处理程序必须具有唯一的名称,并且必须与通知的名称相匹配,每个处理程序都包含一个名称和一个或多个任务。定义处理程序在上述示例中,当task1任务执行后,如果引起了受管主机状态更改,那么notify会通知任务名称为handlertask1的处理程序来执行相应的操作。tasks:-name:task1<module_name>:<module_arguments>notify:handlertask1handlers:-name:handlertask1<module_name>:<module_arguments>handlers通常与notify关键字一起使用,当任务引起主机状态更改时,可以使用notify关键字通知一个或多个处理程序执行特定操作。处理程序的基本语法如下所示:定义处理程序处理程序可以视为非活动任务,即只有在使用notify语句显式调用时才会触发,这样做可以确保handlers只有在需要时才会被执行,从而不会影响任务的执行顺序。任务处理程序如下所示:tasks:-name:Templateconfigurationfiletemplate:src:template.j2dest:/etc/foo.confnotify:-Restartapache-Restartmemcachedhandlers:-name:Restartmemcachedservice:name:memcachedstate:restarted-name:Restartapacheservice:name:httpdstate:restarted在示例中,Templateconfigurationfile任务使用template模块将template.j2模板文件渲染为/etc/foo.conf文件,如果任务执行成功,将触发名为Restartapache和Restartmemcached的两个处理程序,处理程序使用service模块来重启memcached和httpd服务。02监听处理程序监听处理程序在Ansible中,处理程序必须被命名,这样notify关键字才能通知这些处理程序执行任务。如果多个处理程序使用相同的名称,notify关键字仅会通知最后一个定义的处理程序,之前的处理程序将被覆盖。listen关键字可以用于定义一个或多个监听器,让多个处理程序监听同一个事件,当任务完成时,监听器将会被触发,以便执行相应的处理程序。与notify关键字不同,listen关键字不需要与任务名称关联。监听处理程序tasks:-name:Restarteverythingcommand:echo"thistaskwillrestartthewebservices"notify:"restartwebservices"handlers:-name:Restartmemcachedservice:name:memcachedstate:restartedlisten:"restartwebservices“-name:Restartapacheservice:name:apachestate:restartedlisten:"restartwebservices"在下面的示例中,使用notify关键字触发名称为restartwebservices的监听事件时,所有监听该事件的处理程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论