Ausführen von Skripten mit dem Ansible Cron -Modul

Ausführen von Skripten mit dem Ansible Cron -Modul
Ansible ist ein einfaches Werkzeug, mit dem verschiedene Aufgaben und manuelle IT -Prozesse automatisiert werden. Es fungiert als Knotenmanager über SSH und kann Automatisierung in ganzen Organisationen wie automatisierte tägliche Aufgaben, Software -Installation, Bereitstellung, Konfigurationsmanagement und vieles mehr freigeben.

Ansible Module

Ansible enthält Module, die ein Stück des Skripts sind, das von Ansible im Namen des Benutzers ausgeführt wird, um mit dem System zu interagieren und bestimmte Aufgaben mit Überprüfungen oder Automatisierung auszuführen. Diese Module können mit einem entfernten oder lokalen System interagieren, um die gewünschten Änderungen vorzunehmen. Ansible enthält einen großen Satz von Modulen weit über 800.

In diesem Artikel werfen wir etwas Licht auf das Cron -Modul und seine Verwendung. Dieses Modul kann neben anderen von der CLI (Terminal) oder in einer Spielbuchaufgabe verwendet werden. Es ist zu beachten, dass die Module in einem beliebigen Texteditor der Benutzer ausgewählt werden können, solange sie das YAML -Format unterstützen und JSON -Formatdaten zurückgeben.

Cron -Modul

In verschiedenen Linux -Betriebssystemen ist ein Cron ein Tool, mit dem eine Reihe von Skripten oder Befehlen zu einer vordefinierten Zeit ausgeführt werden können. Dieser geplante Lauf wird oft als „Cron -Job“ bezeichnet.”

Dieses Modul kann als eigenständiges Werkzeug unter Linux verwendet werden, ohne dass Ansible erforderlich ist. Zur einfachen Benutzer in Bezug auf Bereitstellung und Plattform wird Ansible jedoch bevorzugt, da es unsere Zugänglichkeit erleichtert und uns dadurch unzählige andere Funktionen in Form verschiedener Module verleiht.

Um zum Beispiel verschiedene Cron -Jobs zu verwalten, müssten wir den Code manuell auf das Terminal schreiben. Mit Ansible können wir jedoch die mühsame Arbeit loswerden und Fehler erheblich reduzieren, indem wir das Spielbuch verwenden, um die Cron -Jobs für Server einzurichten, die wir konfigurieren möchten.

Wie bereits erwähnt, verwendet Ansible Module am Terminal oder im Spielbuch. Das Cron -Modul kann Einträge des Crontab mithilfe des Playbooks verwalten.

Das Cron -Modul verwaltet das Crontab, insbesondere die Crontab -Einträge. Es hat mehrere Parameter, die unten kurz erörtert werden.

Parameter

Zeichenfolge als Name: Dies ist die Zeichenfolge, die als Name für einen bestimmten Crontab fungiert. Dieser Parameter sollte einzigartig sein. Für den Fall, dass dies nicht der Fall ist, werden wir unsere vorherige Cron -Aufgabe durch die neueren ersetzt mit demselben Namen ersetzt.

String als Zustand: Diese Zeichenfolge gibt an, ob die Funktion vorhanden oder nicht vorhanden ist. Zum Beispiel möchten wir eine alte Aufgabe entfernen, die nicht mehr erforderlich ist. Wir können den als "#Anisible: vorherigen Job" vorangestellten Job von unserem Crontab entfernen. Jetzt wird der Staat als abwesend auftauchen.

String als Job: Diese Zeichenfolge ist normalerweise der Befehl, den wir ausführen möchten. Es ist nicht unbedingt erforderlich, wenn unser Staat abwesend ist. Im Falle eines gegenwärtigen Staates brauchen wir jedoch den Jobeintrag in unserem Crontab. Diese Zeichenfolge kann keine Leerzeichen haben.

String als Benutzer: Diese Zeichenfolge ist für den jeweiligen Benutzer geeignet, dessen Crontab geändert werden soll.

Zeit: Diese Zeichenfolge enthält den Zeitstempel mit verschiedenen Parametern im Zusammenhang mit der Zeit wie einer Woche, Tag, Monat, Jahr, Stunde, Minute. Sein Eintrag kann als „0,7,6 ** ls-alh>/dev/null“ geschrieben werden, um zu implizieren, dass die Arbeit in der 6. und 7. Stunden läuft.

Besondere Zeit. Dieser Parameter enthält spezielle Zeitwerte wie jährlich, wöchentlich, stündlich, monatlich, Neustart usw., Um die Jobs regelmäßiger zu machen.

Beispiele

Lassen Sie uns einen neuen Eintrag in unserem Linux -System als Ansible Playbook erstellen.

$ cd ~
$ mkdir Ansible-Workspace
$ CD Ansible-Workspace

Als nächstes nennen wir unser Ansible -Buch (es sollte angemerkt werden, dass das Spielbuch hat .Yaml -Erweiterung).

$ vim Crontest.YML

Damit sollte sich Folgendes öffnen.

Nachdem wir uns im Spielbuch befinden, können wir den folgenden Inhalt hinzufügen.

-Hosts: Alles
wahr werden
Aufgaben:
-Name: "Cronmodule Demonstration"
Ansible.gebaut.Cron
Name: "Test"
Zustand: Gegenwart
Wochentag: "*"
Monat: "*"
Tag: "*"
Stunde: "*"
Minute: "*"
Job: "Cache = Clear"

Führen Sie nun dieses Spielbuch aus, indem Sie den folgenden Befehl in die Linux -Shell eingeben:

Ansible-Playbook-Testbuch.YML

Der oben beschriebene Code verwendet Cronjob, um einen bestimmten Zeitpunkt für die Ausführung seiner Aufgabe zu planen. In diesem Fall besteht die Aufgabe darin, die Daten aus Hintergrundanwendungen zu entfernen. Dieser Speicher wird als Cache bezeichnet und wird empfohlen, ihn regelmäßig zu reinigen, sodass unser System ohne unnötige Last ausgeführt wird. Der oben beschriebene Cronjob hat die Hosts auf „alle eingestellt.Dies bedeutet, dass alle Remote -Systeme den Cronjob auf ihnen durchführen lassen, und die Bedingung bleibt wahr, solange das Spielbuch ausgeführt wird.

Die dritte Zeile beschreibt die Aufgabe des Cronjobs, der Name der Aufgabe wird als „Cronjob -Demonstration“ angezeigt, die im Ansible -Ausführungsprotokoll angezeigt wird. Die nächste Zeile zeigt das integrierte Modul „Ansible. gebaut.Cron ”

Mehrere Zeitzeichenfolgen werden als „*“ gekennzeichnet, was den Standardbetrieb von Cron bezeichnet. Die obigen Daten zeigen, dass der Cronjob am Mittwoch um 5 Uhr morgens des laufenden Monats durchgeführt wird. Der Job löscht den Cache.

Vorteile

Das Cron -Modul bietet uns mehrere Vorteile, einschließlich.

  • Keine Erinnerung an den Beruf beim Laufen.
  • Einfacher.
  • Auch wenn der Cronjob aus einem unbekannten Grund nicht ausgeführt wird, wird er innerhalb der angegebenen Zeitzeichenfolge erneut initiiert.

Abschluss

In diesem Artikel haben wir das Cron -Modul für Ansible übernommen, verantwortlich für die Zeitpläne mehrerer Jobs, die wir unserem System zuweisen möchten. Es ist ein wichtiger Kernbefehl, wenn es darum geht, mehrere Jobs über einen bestimmten Zeitraum zu automatisieren. Wir hoffen.