[ansible]handlers之关于触发事件

触发器的作用是主要当我们关注的事件发生变化的时候,我们所要进行的操作。

notify 这个action可用于再每个play的最后触发,这样可以避免有多次改变时每次都执行制定的操作。取而代之的就是当这些所有的变化发生完成后一次性执行制定的操作。

再notify中列出的操作成为handler,即notify调用handler中定义的操作。

---
- hosts: cache
  remote_user: root
  tasks:
    - lineinfile:
        path: /etc/httpd/conf/httpd.conf
        regexp: '^Listen '
        insertafter: '^#listen '
        line: 'Listen 8080'
      notify: 
          - reload apache
    - replace:
        path: /etc/httpd/conf/httpd.conf
        regexp: '^#(ServerName ).*'
        replace: '\1localhost'
      notify:
        - reload apache
    - copy:
        src: /etc/ansible/index.html
        dest: /var/www/html/
        owner: apache
        group: apache
        mode: 0644
  handlers:
   - name:reload apache
     service:
        name: httpd

调用的过程是:在所有的关注的任务中,只有执行完才会进行最后的调用,同一个服务只出发一次。在大型的处理的脚本中可以避免我们的逻辑问题而出现的错误。
执行结果:

[root@ansible yaml_test]# ansible-playbook reload.yml 
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  •   JavaScript 与 HTML 之间的交互是通过事件实现的。   事件,就是文档或浏览器窗口中发生的一些特...
    霜天晓阅读 3,555评论 1 11
  • 类加载机制 如下图所示,JVM类加载机制分为五个部分:加载,验证,准备,解析,初始化,下面我们就分别来看一下这五个...
    举头望明月泣阅读 1,177评论 0 0
  • 那时的我,也许并不算得上天真,但日子却是纯洁的,起码回忆起来还是乐多于苦。这两件事使我成熟了不少,为人也更...
    条纹格子阅读 207评论 0 0
  • JS规范 1. 类型 简单类型: 字符串 数值 布尔类型 null undefined 复杂类型: object ...
    屎香味十足阅读 508评论 0 2
  • 冒犯是我的惯犯 从良了 不安等你的晚安 天亮了 那就早安吧 2016.11.21晚上
    夹馅锅锅阅读 191评论 0 0