From 0214a8c4a79f77ace177474996e8fa9b1e5543f7 Mon Sep 17 00:00:00 2001 From: kraeml Date: Wed, 27 Sep 2023 14:17:02 +0000 Subject: [PATCH] =?UTF-8?q?handler=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- handler.md | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 handler.md diff --git a/handler.md b/handler.md new file mode 100644 index 0000000..e5809ca --- /dev/null +++ b/handler.md @@ -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. +