Ansible模块设计为具有幂等性。表示在正确编写的playbook中,playbook及其任务可以运行多次而不会改变受管主机,除非需要进行更改使受管主机进入所需状态。
幂等性:通俗的解释就是,不对playbook做出更改,再次执行playbook,里面的内容不会执行。比如安装一个软件,再次执行,不会再次进行安装。
处理程序被视作非活动任务,只有在使用notify语句显式调用时才会被触发,handlers就是处理程序。
tasks:
- name: copy
template:
src: /var/lib/templates/demo.example.conf.template
dest: /etc/httpd/conf.d/demo.example.conf
notify:
- restart apache
handlers:
- name: restart apache
service:
name: httpd
state: restarted
notify中的“restart apache”与handlers中的name后面的字符串必须相对应