ansible handlers
时间: 2023-07-21 13:38:18 浏览: 46
Ansible Handlers是一种特殊类型的任务,它仅在特定条件下触发,并且通常用于在配置文件更改时重新启动或重载服务。Handlers由于只在需要时才执行,可以避免不必要的服务重启或重载,从而提高了系统的可用性和可靠性。
Handlers的定义通常在playbook的底部,并通过notify关键字与相应的任务关联。当任务执行更改时,它将触发与之关联的所有handlers。多个任务可以关联到同一个handler,但是只有在所有关联任务完成后,handler才会被执行一次。这意味着在同一playbook中的多个任务可以共享同一个handler,从而避免重复的操作。
以下是一个handlers的例子:
```
- name: configure nginx
template:
src: /etc/nginx/nginx.conf.j2
dest: /etc/nginx/nginx.conf
owner: root
group: root
mode: 0644
notify: restart nginx
- name: start nginx
service:
name: nginx
state: started
handlers:
- name: restart nginx
service:
name: nginx
state: restarted
```
在这个例子中,两个任务都与restart nginx handler关联。当configure nginx任务完成并更改了nginx配置文件时,它将触发关联的handler,从而重启nginx服务。同样,当start nginx任务完成并启动了nginx服务时,它也会触发关联的handler。当所有关联任务都完成时,handler将被执行一次,从而重启nginx服务。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)