Was ist run_once in ansible

Was ist run_once in ansible
Der Parameter von Ansible Run_once umweg. Das Ergebnis kann dann auf andere aktive Hosts im Spielbuch angewendet werden.

In diesem Handbuch wird erläutert, wie mit dem Ansible Run_once -Modul eine Reihe von Operationen durchgeführt werden können.

Grundnutzung

Der Parameter Ansible Run_once wird auf eine bestimmte Aufgabe angewendet, die Sie auf dem ersten Host ausgeführt werden möchten.

Das folgende Beispiel -Playbook zeigt, wie Sie den Parameter Run_once in einem Spielbuch festlegen können.

---
- Hosts: Alles
#…
Aufgaben:
- Name: Führen Sie diesen Befehl einmal aus
Shell: Befehl
run_once: true

Das Beispiel -Playbook oben zeigt die allgemeine Syntax, um eine Run_once -Aufgabe zu implementieren.

Sehen wir uns einige Beispiele an und sehen Sie verschiedene Anwendungsfälle des Parameters run_once an.

Beispiel 1

Wir werden ein einfaches Spielbuch implementieren, das in unserem ersten Beispiel eine ZIP -Datei von einer URL herunterlädt. Da es nicht sinnvoll ist, die Datei auf jedem Host wiederholt wiederzuladen, können wir den Parameter run_once verwenden.

Nehmen Sie das unten gezeigte Beispiel -Playbook:

---
- Hosts: Alles
sammeln_facts: Ja
Aufgaben:
- Name: Datei nur einmal herunterladen
run_once: true
get_url:
URL: https: // file-examples-com.Github.IO/Uploads/2017/02/ZIP_10MB.Reißverschluss
dest: ~/zip_10mb.Reißverschluss
- Name: Unarchive
unarchiv:
src: ~/zip_10mb.Reißverschluss
dest: ~/zip_10mb

Im obigen Beispiel -Spielbuch wird die Datei im ersten Stapel heruntergeladen und dann auf den Remote -Hosts nicht anarchiviert.

Beispiel 2

Das nächste Beispielspielbuch erstellt ein Archiv aus einem Git -Repository.

---
- Hosts: Alles
sammeln_facts: Ja
Aufgaben:
- Name: Erstellen Sie Archiv aus Repo
Git:
Repo: https: // github.com/modples/repo.Git
dest:/home/user/repo
Archiv:/home/user/repo.Reißverschluss
run_once: true

Beispiel 3

Wir können auch den Parameter run_once verwenden, um eine Sicherung zu erstellen und dann die Datenbank mithilfe des RSYNC -Protokolls mit den Remote -Hosts zu synchronisieren. Betrachten Sie das Beispiel -Spielbuch unten:

---
- Hosts: Alles
sammeln_facts: Ja
wahr werden
Aufgaben:
- Name: Erstellen Sie ein Backup -Archiv
Archiv:
Weg:
/var/log/log/
/Custom/All
dest: /backup /system0-backup.BZ2
Format: BZ2
Entfernen: Nein
run_once: true
- Name: Backup mit RSYNC synchronisieren
synchronisieren:
src: /backup /system0-backup.BZ2
dest: rsync: // inventory_hostname/backups

Das Playbook erstellt ein Backup -Archiv auf dem Localhost und synchronisiert die Dateien mit allen Remote -Hosts.

Beispiel 4

Das Beispiel -Playbook verwendet den Parameter run_once, um E -Mail an alle Hosts zu senden.

---
- Hosts: Alles
sammeln_facts: Ja
wahr werden
Aufgaben:
- Name: Erstellen Sie ein Backup -Archiv
local_action:
Modul: Mail
Betreff: "Mail von Ansible."
an: ubuntu@localhost
Körper: "Auf der neuen Redis -Version aktualisiert."
run_once: true

Das Spielbuch sendet E -Mail an einen bestimmten Benutzer.

Abschluss

Diese Anleitung zeigt, wie Sie den Parameter Run_once in Ansible verwenden, um eine Aufgabe auf einem einzelnen Host auszuführen und die Ergebnisse auf andere Hosts anzuwenden.