ansible学习笔记5-playbooks之handlers

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ansible学习笔记5-playbooks之handlers相关的知识,希望对你有一定的参考价值。

Handlers 在发生改变时执行的操作


module具有幂等性,所以当远端系统被人改动时,可以重放playbooks达到恢复的

目的。playbooks本身可以识别这种改动,并且有一个基本的event system,可以

响应这种改动


notify actions会在playbook的每一个task结束时被触发,而且即使有多个不同

的task通知改动的发生,notify actions只会被触发一次


举例来说,比如多个resources指出因为一个配置文件被改动,所以apache需要重

新启动,但是重新启动的操作只会被执行一次


这里有一个例子,当一个文件的内容被改动时,重启两个services


- name: template configuration file

  template: src=template.j2 dest=/etc/foo.conf

  notify:

      - restart memcached

 - restart apache

 

notify下列出的即是handlers


handlers也是一些task的列表,通过名字来引用,它们和一般的task并没有什么

区别。handlers是由通知者进行notify,如果没有被notify,handlers不会执行

不管多少个通知者进行了notify,等到play中的所有task执行完成之后

handlers也不会被执行一次


这里是一个handlers的示例

handlers:

    - name: restart memcached

 service: name=memcached state=restarted

- name: restart apache

 service: name=apache state=restarted

 

Handlers最佳的应用场景是用来重启服务,或者触发系统重启操作,除此以外很

少用到了


本文出自 “八英里” 博客,谢绝转载!

以上是关于ansible学习笔记5-playbooks之handlers的主要内容,如果未能解决你的问题,请参考以下文章

ansible学习笔记9-playbooks之include

ansible学习笔记4-playbooks之task

Ansible 学习笔记

ansible学习笔记

第20章,运维自动化之ansible

我的Ansible学习笔记