Jak używać pliku linii ansible

Jak używać pliku linii ansible
Ansible to bezpłatne narzędzie automatyzacji typu open source, które mogą zarządzać jednym lub setkami zdalnych hostów. Jego głównym zastosowaniem jest zarządzanie konfiguracją, wdrażanie zdalnych serwerów, zarządzanie aplikacjami i usługami oraz wiele innych. Działa również zarówno w systemach UNIX, jak i UNIX, a także w systemie Windows.

Po wyjęciu z pudełka Ansible ma wiele narzędzi i funkcji. Jednym z nich jest moduł linii linii. Ten moduł umożliwia zarządzanie pojedynczą linią w pliku znajdującym się na zdalnym hoście.

Obsługuje funkcje, takie jak wymiana treści w pliku, aktualizowanie treści w wierszu, dodanie treści w wierszu i więcej.

Ten przewodnik ilustruje, jak korzystać z modułu linii linii ansible do zarządzania plikami na zdalnych hostach.

Wymagania

Aby przestrzegać koncepcji tego samouczka, upewnij się, że masz następujące podstawowe wymagania:

  1. Ansible Kontrola
  2. Zdalny host do zarządzania
  3. SSH dostęp do zdalnego hosta

Potwierdź, czy istnieje określony wpis

Aby upewnić się, że konkretny wpis jest obecny w pliku, możemy użyć modułu lineinFile i ustawić scenę na przedstawienie.

Rozważ przykładowy podręcznik pokazany poniżej:

---
- Gospodarze: Wszyscy
GACED_FAFTS: Tak
stać się: tak
Zadania:
- Nazwa: Sprawdź, czy /etc /hosts zawiera 127.0.0.1 "
lineinfile:
Ścieżka: „/etc/hosts”
Stan: obecny
Linia: "127.0.0.1 "
Check_mode: Tak
Zarejestruj się: Out

Powyższy przykład sprawdzi, czy wpis istnieje w określonym pliku i doda go, jeśli nie istnieje.

Utwórz plik i dodaj nową linię

Możemy użyć modułu lineinfile do utworzenia pliku i dodania nowego wiersza do utworzonego pliku.

Rozważ przykładowy podręcznik pokazany poniżej:

---
- Gospodarze: Wszyscy
GACED_FAFTS: Nie
Zadania:
- Nazwa: Utwórz plik i dodaj linię
lineinfile:
dest:/home/ubuntu/przykład.conf
Linia: To nowy wpis do pliku
Stan: obecny
Utwórz: prawda

W powyższym przykładzie podręcznika używamy parametru DEST, aby określić ścieżkę pliku.

Następnie używamy parametru linii, aby ustawić linię do dodania do pliku. Używamy tego w połączeniu ze stanem: obecny parametr.

Na koniec ustawiamy parametr Utwórz na true, który mówi Ansible, aby utworzyć plik, jeśli istnieje.

Jeśli uruchomisz podręcznik dwukrotnie, nie będzie wykonywać żadnej akcji, ponieważ istnieje zarówno plik, jak i określona linia istniała.

Dodaj linię przed/po wejściu

Aby dodać linię przed lub po konkretnym wpisie, możesz użyć parametrów Insertafter lub InsertBef.

Spójrz na przykład pokazany poniżej:

---
- Gospodarze: Wszyscy
GACED_FAFTS: Nie
Zadania:
- Nazwa: Dodaj wiersz przed/po
lineinfile:
ścieżka:/etc/apache2/apache2.conf
Regex: „^ServerRoot”
Insertafter: „^#ServerRoot”
Linia: serverroot "/etc/apache2"

Po skomentowanej linii moduł lineinfile doda wpis ServerRoot „/etc/apache2”.

Usuwanie linii

Aby usunąć wpis z pliku, ustaw stan na nieobecny, jak pokazano na przykładzie podręcznika poniżej:

---
- Gospodarze: Wszyscy
GACED_FAFTS: Nie
Zadania:
- Nazwa: Usuń linię
lineinfile:
ścieżka:/etc/apache2/apache2.conf
Regex: '^#serverroot'
Stan: nieobecny

Powyższy przykład używa prostego wyrażenia regularnego, aby dopasować linię, zaczynając od #Serverroot.

Komentując linię

Aby skomentować wiersz, użyj parametru Ansible LineInFile Backrefs. Spójrz na przykładowy podręcznik pokazany poniżej:

---
- Gospodarze: Wszyscy
GACED_FAFTS: Nie
Zadania:
- Nazwa: Usuń linię
lineinfile:
ścieżka:/etc/apache2/apache2.conf
linia 1'
Regex: „^#Słuchaj 8080”
Backrefs: Tak

W powyższym przykładzie używamy wyrażenia regularnego, aby dopasować linię, którą chcemy komentować.

Następnie używamy zawartości linii dopasowującej i dodajemy postać komentowania.

Plik kopii zapasowej przed zmianą

Dobrze jest zapewnić kopię zapasową kopii plików przed edycją, aby ułatwić przywrócenie plików w przypadku błędów.

Aby utworzyć kopię zapasową pliku za pomocą modułu lineInfile, możemy ustawić opcję kopii zapasowej na true.

Rozważ przykładowy podręcznik poniżej:

---
- Gospodarze: Wszyscy
GACED_FAFTS: Nie
Zadania:
- Nazwa: Usuń linię
lineinfile:
ścieżka:/etc/apache2/apache2.conf
Regex: '^#serverroot'
Stan: nieobecny
Backup: Tak

Wniosek

Moduł linii linii ansible jest korzystny przy modyfikowaniu plików konfiguracyjnych na zdalnych hostach za pomocą ANSable Playbooks.

Dziękuję za przeczytanie!