Uruchamianie skryptów z modułem Ansible Cron

Uruchamianie skryptów z modułem Ansible Cron
Ansible to proste narzędzie używane do automatyzacji różnych zadań i ręcznych przetwarzania IT. Działa jako menedżer węzłów w porównaniu z SSH i może dzielić się automatyzacją w całym organizacja.

Moduły ansible

Ansible zawiera moduły, które są kawałkiem skryptu uruchamianego przez ansible w imieniu użytkownika do interakcji z systemem i wykonywania określonych zadań obejmujących czeki lub automatyzację. Te moduły mogą oddziaływać z systemem zdalnym lub lokalnym, aby wprowadzić pożądane zmiany. Ansible zawiera duży zestaw modułów, dobrze ponad 800.

W tym artykule rzuciliśmy trochę światła na moduł Cron i jego użycie. Ten moduł, obok innych, może być używany z CLI (terminal) lub w zadaniu podręcznika. Należy zauważyć, że moduły można zapisać w dowolnym edytorze tekstu wyboru użytkowników, o ile obsługują format YAML i zwraca dane z formatu JSON.

Moduł Cron

W różnych systemach operacyjnych Linux cron to narzędzie używane do uruchamiania zestawu skryptów lub poleceń w predefiniowanym czasie. Ten zaplanowany bieg jest często określany jako „praca CRON."

Moduł ten może być używany jako samodzielne narzędzie w Linux bez potrzeby ansible; Jednak dla ułatwienia użytkownika pod względem dostarczania i platformy Ansible jest preferowany, ponieważ może ułatwić naszą dostępność, co daje nam mnóstwo innych funkcji w postaci różnych modułów.

Na przykład, aby zarządzać różnymi zadaniami Cron, musielibyśmy napisać kod ręcznie na terminalu; Jednak dzięki Ansible możemy pozbyć się żmudnej pracy i znacznie zmniejszyć błędy, używając podręcznika do skonfigurowania zadań CRON dla serwerów, które chcemy skonfigurować.

Jak wspomniano wcześniej, Ansible używa modułów na terminalu lub w podręczniku. Moduł Cron może zarządzać wpisami crontab za pomocą podręcznika.

Moduł Cron zarządza crontabem, w szczególności wpisami crontab. Ma kilka parametrów, które są krótko omówione poniżej.

Parametry

Ciąg jako nazwa: To jest ciąg, który działa jak nazwa danego crontab. Ten parametr powinien być unikalny. Jeśli tak nie.

Ciąg jako stan: Ten ciąg określa, czy funkcja jest obecna czy nieobecna. Na przykład chcemy usunąć stare zadanie, które nie jest już wymagane. Możemy usunąć zadanie jako „#ansible: poprzednie zadanie” z naszego crontab. Teraz państwo pojawi się jako nieobecny.

Ciąg jako zadanie: ten ciąg jest zwykle poleceniem, które zamierzamy wykonać. Niekoniecznie jest to wymagane, jeśli nasze państwo jest nieobecne; Jednak w przypadku obecnego stanu potrzebujemy wpisu pracy na naszym crontab. Ten ciąg nie może mieć spacji.

Ciąg jako użytkownik: ten ciąg jest przeznaczony dla konkretnego użytkownika, którego crontab ma zostać zmodyfikowany.

Czas: Ten ciąg zawiera znaczek czasowy zawierający różne parametry związane z czasem, takie jak tydzień, dzień, miesiąc, rok, godzinę, minutę. Jego wpis może być napisany jako „0,7,6 ** ls-alh>/dev/null”, aby sugerować, że zadanie działa w 6 i 7 godzinach.

Specjalny czas. Ten parametr zawiera specjalne wartości czasowe, takie jak co roku, co tydzień, co godzinę, miesięcznie, ponowne uruchomienie itp., Aby praca była bardziej okresowa.

Przykłady

Zróbmy nowy wpis w naszym systemie Linux jako Ansible Playbook.

$ cd ~
$ Mkdir Ansible-Workspace
$ CD Ansible-Workspace

Następnie nazywamy naszą książkę Ansible (należy zauważyć, że podręcznik ma .Rozszerzenie YAML).

$ vim crontest.yml

Dzięki temu następujące powinny się otworzyć.

Teraz, gdy jesteśmy w podręczniku, możemy dodać następujące treści.

-Gospodarze: Wszyscy
staje się prawdą
Zadania:
-Nazwa: „Demonstracja Cronmodule”
Ansible.wbudowany.Cron
Nazwa: „Test”
Stan: obecny
dzień powszedni: „*”
miesiąc: "*"
dzień: "*"
godzina: "*"
minuta: "*"
Job: „Cache = Clear”

Teraz uruchom ten podręcznik, wpisując następujące polecenie w linii Linux Shell:

Ansible-Playbook Testbook.yml

Kod opisany powyżej używa cronjob, aby zaplanować określony czas na wykonanie swojego zadania. W takim przypadku zadaniem jest wyczyszczenie danych z aplikacji podstawowych. Ta pamięć jest określana jako pamięć podręczna i zaleca się jej regularne wyczyszczenie, aby nasz system mógł działać bez niepotrzebnego obciążenia. Cronjob opisany powyżej ma hosty ustawione na „Wszystkie.„Oznacza to, że wszystkie zdalne systemy będą miały na nich wykonywane cronjob, a stan pozostaje prawdziwy, dopóki podręcznik jest wykonywany.

Trzeci wiersz opisuje zadanie Cronjob, nazwa zadania jest wyświetlana jako „Demonstracja Cronjob”, która pojawi się w dzienniku wykonania Ansible. Następny wiersz wyświetla wbudowany moduł „Ansible. wbudowany.Cron ”

Kilka ciągników jest oznaczonych jako „*”, co oznacza domyślne działanie cron. Powyższe dane pokazują, że cronjob zostanie wykonany w środę o 5 rano w bieżącym miesiącu; Praca polega na usuwaniu pamięci podręcznej.

Zalety

Moduł Cron oferuje nam kilka zalet, w tym.

  • Brak pamięci zawodu podczas biegania.
  • Łatwiejsze przesyłanie kontroli do użytkownika podczas wykonywania cronjob.
  • Nawet jeśli Cronjob nie wykonuje z jakiegoś nieznanego powodu, zainicjuje się ponownie w wyznaczonym ciągu czasu.

Wniosek

W tym artykule przeszliśmy przez moduł Cron dla Ansible, odpowiedzialny za harmonogramy czasu kilku zadań, które chcemy przypisać do naszego systemu. Jest to ważne polecenie podstawowe, jeśli chodzi o automatyzację kilku zadań w określonych ramach czasowych. Mamy nadzieję, że byłeś w stanie uchwycić działanie modułu Cron i wyczyścić swoje zapytania po przeczytaniu tego artykułu.