Zainstaluj ansible
Najpierw instalujemy Ansible, jeśli nie jest jeszcze zainstalowany w naszych systemach. Aby zainstalować ansible, wykonaj kroki podane poniżej. Przejdź do następnej części, jeśli Ansible jest już zainstalowany.
Przede wszystkim aktualizujemy nasz system, aby wszystkie pakiety były aktualne i nie napotkano żadnych problemów podczas instalowania zależności dla Ansible. Aby zaktualizować system, wpisujemy następujące polecenie.
$ sudo apt aktualizacja && sudo apt aktualizację
Następnie instalujemy niektóre pakiety, które są warunkami wstępnymi do instalacji Ansible. Aby zainstalować te pakiety, wpisz następujące polecenie.
$ sudo apt instint oprogramowanie-properties-common python3 Python3-Pip Python3-dev sshpass apt-creport-https ca-certyfikaty libffi-dev libkrb5-dev libcurl4-openssl-dev libssl-dev-dev libssl-dev
Na koniec możemy zainstalować ANSible i sprawdzić jej wersję za pomocą następującego zestawu poleceń.
$ sudo -h pip3 instaluj ansible
I na koniec:
ansible --version
Teraz, gdy mamy zainstalowane ansible, potrzebujemy podręcznika do pisania skryptów, które zautomatyzują nasze codzienne zadania. Prosty edytor tekstu, taki jak VIM, powinien to zrobić, ponieważ nie zużywa dużo pamięci i obsługuje format „YAML”, w którym pisane są skrypty Ansible.
Zwróćmy się teraz do problemu, tworząc nowy katalog w Ansible, jeśli jeszcze nie istnieje. Opiszmy podstawy katalogu i wyjaśnimy, w jaki sposób możemy zrobić nowe katalogi na ansible z kilkoma przykładami.
Co to jest katalog?
Katalog to lokalizacja, która organizuje i przechowuje pliki na komputerze. Możesz myśleć o tym jako o mapie drogowej, która pokazuje przechowywaną treść oraz jej dokładną lokalizację i podział. Pomaga użytkownikowi nawigować po plikach w systemie, wyznaczając określoną ścieżkę dla każdego pliku, który mamy w naszym systemie.
Ten użyteczny mechanizm pomaga utrzymać nasz system zorganizowany bez powodowania problemów. Wyobraź sobie, że masz dwa mecze, Pinball1 i Pinball2. Te gry mają swoje katalogi z zapisanymi danymi zawierającymi wszelkie postępy graczy w dwóch grach. Gdyby nie było żadnych katalogów do wyróżnienia obu gier, folder „Zapisz dane” zawsze byłby zastąpiony przez grę, która została rozegrana ostatnia, tracąc wszystkie poprzednie dane.
Różnica między plik a katalogu
Pliki i katalogi to dwa różne terminy. Katalog jest określonym obszarem pamięci komputera zawierającego inne podrzędne i pliki. Z drugiej strony plik może być przechowywany w katalogu i zawiera informacje używane przez system do uruchamiania różnych aplikacji. Należy również zauważyć, że plik ma rozszerzenie, podczas gdy katalog nie.
Zrób katalog w Ansible
Możemy stworzyć katalog na ansible za pomocą modułu pliku. Ten moduł służy do zarządzania symbolami, katalogami i plikami. Ma także inne funkcje, takie jak narzucanie własności plików i katalogów i uprawnienia. Wszystkie te zadania są wykonywane na zdalnych hostach. Przykład pokazany poniżej wyjaśnia, w jaki sposób nowy katalog jest wykonany w Ansible, jeśli nie istnieje.
- Nazwa: demonstracja katalogu
plik:
ścieżka: /src /newdirectory
Stan: Directory
Właściciel: root
Grupa: root
Tryb: 0775
Możesz uruchomić podręczniki za pomocą następującego polecenia:
Ansible-Playbook Testbook.yml
Powyższy skrypt tworzy nowy katalog o nazwie „nowy dyrektor” ze ścieżką /etc /newdirectory. Tryb jest parametrem modułu pliku, który wskazuje, że właściciel i grupa katalogu może go wykonywać, czytać lub zapisać. Jednak inni mogą wykonywać lub odczytać katalog i jego zawartość.
Możemy stworzyć ten sam katalog w inny sposób, jak pokazano poniżej.
- Nazwa: demonstracja katalogu
Ansible.wbudowany.plik:
ścieżka: /src /newdirectory
Stan: Directory
Tryb: 0775
Sprawdź, czy katalog istnieje w Ansible
Sprawdzanie, czy określony katalog istnieje na ansible, jest zgodna z tą samą procedurą, co sprawdzanie pliku. Jedyną różnicą jest to, że używamy wartości ISDIR do potwierdzenia ścieżki katalogu.
- Nazwa: Sprawdź, czy katalog już istnieje
Odpluskwić:
MSG: „Istnieje katalog”
Kiedy: rejestr_directory.Stst.istnieje i rejestr_directory.Stat.isdir
Utwórz katalog z określoną ścieżką
- Gospodarze: Wszyscy
Zadania:
- Nazwa: katalog z określoną ścieżką
plik:
ścieżka:/home/folder1/my_new_directory
Stan: Directory
Powyższy skrypt tworzy nowy katalog w podfolderu „Folder1” w katalogu domowym. Katalog jest wykonany w module pliku, który obsługuje pliki, katalogi i operacje omówione powyżej.
Zmień uprawnienia katalogu
Możemy zmienić uprawnienia do tego, kto może odczytać, pisać lub wykonywać zawartość katalogu lub pliku na zdalnym hoście za pomocą Ansible. Skrypt podano poniżej.
- Gospodarze: Wszyscy
Zadania:
- Nazwa: Uprawnienia do katalogu
plik:
ścieżka:/home/folder1/my_new_directory
Stan: Directory
Tryb: „u = rw, g = wx, o = rwx”
Tutaj widzimy, że zmieniliśmy pozwolenie (tryb) na „u = rw, g = wx, o = rwx” To jest symboliczne wyrażenie, które mówi komputerowi, aby pozwolił wszystkim czytać i pisać w katalogu. Tryb może być wyrażeniem symbolicznym lub liczbą ósemkowym, takim jak „0755”.
Niejednoznaczny katalog
W przypadku, gdy nie jesteśmy pewni, czy katalog już istnieje, czy nie w naszym systemie, możemy napisać skrypt, który zapewnia, że katalog zostanie sprawdzony, czy istnieje. Jeśli tak nie jest, na zdalnym hoście zostanie wykonany nowy katalog według.
- Gospodarze: Localhost
Zadania:
- Nazwa: Sprawdź katalog, jeśli istnieje
STAT:
ścieżka: /home /dir1
Zarejestruj się: NewFolder
- Nazwa: „W przypadku katalogu istniał”
odpluskwić:
MSG: „Istnieje dany katalog”
Kiedy: Newfolder.Stat.istnieje
- Nazwa: „Ansible Utwórz katalog, jeśli nie istnieje”
plik:
ścieżka: /home /dir1
Stan: Directory
Tryb: 0755
Grupa: root
Właściciel: root
Kiedy: nowy.Stat.istnieje == Fałsz
Tutaj grupa i root pokazują, że dostęp jest dozwolony dla właściciela i grupy „root”
Wniosek
W tym artykule dowiedzieliśmy się o modułach STAT i plików w Ansible oraz o tym, jak pomagają one zarządzać katalogami i plikami. Przeszliśmy także Skrypty Ansible, na wypadek, gdybyśmy chcieli stworzyć katalog, który jeszcze nie istnieje. Mamy nadzieję, że po przeczytaniu tego artykułu byłeś w stanie znaleźć rozwiązanie swojego zamieszania w zakresie katalogów w Ansible.