Samouczek modułu pliku ansible

Samouczek modułu pliku ansible
Ansible to niesamowite narzędzie automatyzacji, które jest wyposażone w funkcje i narzędzia do zarządzania zdalnymi hostami. Działa poprzez wdrożenie modułów do wykonywania określonych zadań i operacji.

Jeden praktyczny moduł w Ansible jest moduł pliku. Ten moduł jest odpowiedzialny za wykonywanie takich zadań, jak tworzenie plików i katalogów, usuwanie plików i katalogów, tworzenie miękkich i twardych symbolicznych linków, dodawanie i modyfikowanie uprawnień do plików i katalogów i nie tylko.

Ten przewodnik przeprowadzi Cię przez sposób pracy z modułem pliku Ansible. Zilustrujemy to za pomocą kolekcji przykładów i podręczników.

NOTATKA: Upewnij się, że masz dostęp do swoich zdalnych hostów określonych w pliku inwentaryzacji Ansible.

Jak działa moduł pliku ansible

Ansible.wbudowany.Moduł pliku znajduje się w domyślnej instalacji ansible w ramach Ansible-Core. Ansible zaleca odniesienie do modułu za pomocą „w pełni kwalifikowanej nazwy” zamiast krótkiej nazwy modułu, aby uniknąć konfliktów z modułami podobnych nazwisk.

Moduł pliku zawiera zbiór wcześniej zdefiniowanych parametrów do zarządzania plikami. Używamy tych parametrów do skonfigurowania akcji wykonywanych na zdalnym hoście.

Poniżej są ważne parametry, których możesz użyć:

  1. Właściciel - Nazwa użytkownika użytkownika, który będzie właścicielem utworzonego pliku i katalogu
  2. Ścieżka - Ścieżka do pliku lub katalogu do zarządzania
  3. Tryb - Tryb uprawnienia do ustawienia w określonym pliku lub katalogu. Użyj notacji ósemkowej w parach pojedynczych cytatów.
  4. Grupa - Ustawia własność grupy dla pliku lub katalogu
  5. Siła - Wartość logiczna używana do wymuszenia tworzenia symlinów, jeśli plik źródłowy nie jest obecnie dostępny (ale dodany później) lub docelowe symbolizowanie już istnieje.
  6. Podążać - Jeśli istnieją linki systemu plików, śledź je.
  7. Atrybuty - Ustawia atrybuty określonego pliku lub katalogu. Podobne do domyślnego narzędzia Chattr w Linux
  8. Państwo - Definiuje kontekst tworzenia pliku. Zaakceptowane opcje obejmują:
    1. Dotykać - Utwórz pusty plik
    2. Informator - Utwórz katalog
    3. Twardy - Utwórz twardy link
    4. Połączyć - Utwórz miękki link
    5. Nieobecny - Usuń pliki i katalog rekurencyjnie i odłączają linki

Sprawdź dokumenty modułu pliku ansible dla innych predefiniowanych parametrów.

Najlepszym sposobem nauki pracy z modułem pliku Ansible jest przykłady.

Moduł pliku ansible: praktyczne przykłady

NOTATKA: Ten przewodnik zakłada, że ​​masz węzeł kontrolny ansible i docelowe hosty dodane do pliku ekwipunku.

Jak utworzyć pusty plik

Aby utworzyć pusty plik za pomocą modułu pliku ansible, ustawiamy stan do dotknięcia, jak pokazano w podręczniku.

---
- Gospodarze: Wszyscy
Zadania:
- Nazwa: Utwórz pusty plik
plik:
Ścieżka: $ home/touch_file
Stan: dotyk

Powyższy podręcznik zawiera podstawową konfigurację Ansible:

  1. gospodarz - Ustawia zdalne hosty docelowe, aby uruchomić podręcznik. Możesz zdefiniować grupę zdalnych hostów lub pojedynczego hosta.
  2. zadania - Mówi Ansible, aby uruchomić określone zadanie na zdalnym hoście.
  3. nazwa - Określa nazwę zadania do uruchomienia
  4. plik - Wywołuje moduł pliku ansible
  5. ścieżka - Definiuje ścieżkę na zdalnym komputerze, w którym plik jest tworzony.
  6. państwo - Utwórz pusty plik za pomocą dotyku.

Zapisz podręcznik i wykonaj go na zdalnych hostach:

Ansible-Playbook pusty plik.yml

Jak tworzyć wiele plików

Ansible umożliwia tworzenie wielu plików w jednym zadaniu. Poniżej znajduje się przykład podręcznika:

---
- Gospodarze: Wszyscy
Zadania:
- Nazwa: Utwórz wiele plików
plik:
ścieżka: $ home/item
Stan: dotyk
Z_ITEMS:
- plik 1.C
- nagłówek.H
- plik2.py
- plik3.tekst
- plik4.RB

W podręczniku używamy dwóch wpisów Ansible:

  1. przedmiot - Mówi Ansible, aby utworzyć unikalną ścieżkę dla określonych plików.
  2. with_item - Tworzy listę plików do utworzenia na zdalnym hoście. Możesz dodać tyle plików i rozszerzeń, ile uważasz za dopasowanie.

Uruchom książkę ansible-playbook, aby utworzyć określone wiele plików:

Ansible-Playbook mnisefile.yml

Jak utworzyć plik z treścią

W powyższych przykładach tworzymy puste pliki za pomocą polecenia dotykowego. Aby utworzyć plik z treścią, możemy użyć modułu kopiowania i ustawić parametr treści na zawartość pliku.

Poniżej znajduje się przykład podręcznika:

---
- Gospodarze: Wszyscy
Zadania:
- Nazwa: Utwórz plik z zawartością
Kopiuj:
Dest: $ home/hello.CPP
Treść: |
#włączać
Za pomocą przestrzeni nazw Std
int main ()
Cout << "hello world" << endl;
powrót 0;

Moduły i parametry w powyższym podręczniku to:

  1. Kopiuj - Obejmuje moduł kopii ansible.
  2. Dest - Ścieżka docelowa pliku
  3. treść - Treść do dodania do pliku. Każda linia jest dodawana do nowej linii.

Uruchom podręcznik:

Ansible-Playbook withContent.yml

Jak utworzyć katalog

Podręcznik używany do utworzenia katalogu za pomocą modułu pliku ansible jest podobny do utworzenia pustego pliku. Jednak, jak pokazano poniżej, ustawiamy stan na „Directory” zamiast „Plik”:

---
- Gospodarze: Wszyscy
Zadania:
- Nazwa: CreateAdirectory
plik:
Ścieżka: $ home/ansible-dir
Stan: Directory

Jak usunąć plik lub link symboliczny

Usuwanie plików, katalogów lub linków symbolicznych jest bardzo proste; Wszystko, co musimy zrobić, to ustawić stan na nieobecność, jak pokazano w poniższym podręczniku:

---
- Gospodarze: Wszyscy
Zadania:
- Nazwa: Usuń pliki
plik:
Ścieżka: $ home/ansible-dir
Stan: nieobecny

Podręcznik nic nie zrobi, jeśli określony plik nie istnieje.

Jak zmienić zgodę katalogu

Używamy parametrów właściciela, grupy i trybu podręcznika, aby zmienić zgodę katalogu.

Poniższy przykład ustawia określone uprawnienia w katalogu.

---
- Gospodarze: Wszyscy
staje się prawdą
Zadania:
- Nazwa: ModifyDirpermissions
plik:
ścieżka: /var /log
Stan: Directory
Właściciel: root
Grupa: root
Tryb: 0755

W powyższym przykładzie podręcznika ustawiamy się: true. Jest to konieczne przy ustalaniu uprawnień dla innych użytkowników, z wyjątkiem ansible_user

  1. Użyj notacji ósemkowej, aby określić uprawnienia, w tym wiodące 0.

Za pomocą trybu symbolicznego

Ansible pozwala ustawić uprawnienia w trybie symbolicznym zamiast formatu ośmiorotnego. Poniższy tryb jest równoważny 0777.

---
- Gospodarze: Wszyscy
staje się prawdą
Zadania:
- Nazwa: ModyfigyDirpermissions in Format Symbolic
plik:
ścieżka:/var/log/
Stan: Directory
Tryb: u = rwx, g = rwx, o = rwx

NOTATKA: Ustawienie 0777 w katalogu, takim jak /var /log nie jest najlepszą praktyką i użyliśmy go tutaj tylko do celów ilustracyjnych.

Zmień uprawnienia do katalogu rekurencyjnie

Jeśli chcesz rekurencyjnie zmienić uprawnienia do katalogu, możesz użyć parametru rersurse, jak pokazano w poniższym podręczniku:

---
- Gospodarze: Wszyscy
staje się prawdą
Zadania:
- Nazwa: ModifyDirPermissionsReCursive
plik:
ścieżka:/var/log/
Stan: Directory
Właściciel: root
Grupa: root
Tryb: 0755
Refurse: True

Ustawienie rense: Prawda wpłynie na pliki w określonym katalogu nadrzędnym.

Jak utworzyć symboliczny link

Tworzenie symlink. W takim przypadku ustawiamy stan na link, jak pokazano na przykładzie podręcznika poniżej:

---
- Gospodarze: Wszyscy
- staje się prawdą
Zadania:
- Nazwa: CreateAmymLink
plik:
src: $ home/src_file
dest: /etc /dest_symlink
Stan: Link

Jak usunąć symboliczny link

Usunięcie symboli jest podobne do usunięcia zwykłego pliku.

---
- Gospodarze: Wszyscy
- staje się prawdą
Zadania:
- Nazwa: Usuń
plik:
ścieżka: /etc /dest_symlink
Stan: nieobecny

Jak zmodyfikować czas dostępu

Możesz zmodyfikować czas dostępu i modyfikacji za pomocą parametrów Access_Time i Modyfication_Time.

Przykładowy podręcznik:

- staje się prawdą
Zadania:
- Nazwa: ModifyAccessandModifiedTime
plik:
ścieżka:/etc/ansible/hosts
Stan: Plik
Access_time: teraz
Modyfikacja_time: „202110041123.11 ”

Ustawiamy Access_Time jako bieżący czas za pomocą funkcji teraz.

Możesz także zapewnić czas na parametry Access_Time i Modyfication_Time w formacie (jako ciąg):

YYYYMMMDDHHMM.SS

Wniosek

Ten przewodnik pomógł ci zrozumieć, jak pracować z modułem pliku Ansible w podręczniku.