handler hinzugefügt

kraeml 2023-09-27 14:17:02 +00:00
parent e877526ecd
commit 0214a8c4a7
1 changed files with 39 additions and 0 deletions

39
handler.md Normal file

@ -0,0 +1,39 @@
# Handler
Handler in Ansible dienen dazu, Aufgaben (Tasks) auszuführen, die nur dann aktiviert werden, wenn bestimmte vorherige Aufgaben in einem Playbook Änderungen auf einem Zielhost durchgeführt haben. Sie sind nützlich, um beispielsweise Dienste neu zu starten oder Konfigurationsdateien zu aktualisieren, nachdem eine Änderung vorgenommen wurde.
Hier ist ein einfaches Beispiel:
```yaml
---
- name: Konfiguriere und starte den Webserver
hosts: webserver
tasks:
- name: Aktualisiere die Konfigurationsdatei
template:
src: nginx.conf.j2
dest: /etc/nginx/nginx.conf
notify: Restart nginx
- name: Stelle sicher, dass der Webserver läuft
service:
name: nginx
state: started
handlers:
- name: Restart nginx
service:
name: nginx
state: restarted
```
In diesem Playbook:
1. Zwei Tasks werden ausgeführt, um die Nginx-Konfigurationsdatei zu aktualisieren und den Webserver zu starten.
2. Der `notify` Parameter im ersten Task weist Ansible an, den Handler `Restart nginx` auszulösen, wenn die Konfigurationsdatei tatsächlich geändert wurde.
3. Der Handler `Restart nginx` wird definiert, um den Nginx-Service neu zu starten, wenn er ausgelöst wird.
Wenn die Konfigurationsdatei geändert wird, wird der Handler `Restart nginx` ausgeführt, um den Nginx-Service neu zu starten. Wenn keine Änderungen vorliegen, wird der Handler übersprungen. Handler bieten also eine Möglichkeit, Aufgaben abhängig von Änderungen auf dem Zielhost auszuführen.