美文网首页
[ansible]handlers之关于触发事件

[ansible]handlers之关于触发事件

作者: Franckisses | 来源:发表于2018-12-26 20:44 被阅读11次

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

    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 
    

    相关文章

      网友评论

          本文标题:[ansible]handlers之关于触发事件

          本文链接:https://www.haomeiwen.com/subject/mmyklqtx.html