Možné

Jak vytvořit adresář v Ansible

Jak vytvořit adresář v Ansible

Ansible je jedním z nejlepších dostupných automatizačních nástrojů a nabízí jednoduché, intuitivní a výkonné nástroje pro provádění automatizačních úkolů v moderním světě.

U většiny automatizačních úkolů budete muset vytvořit adresáře, zejména při instalaci různých nástrojů a aplikací, zálohování a obnovení. Ačkoli můžete tyto úkoly provádět pomocí automatizovaného skriptu, poskytuje Ansible lepší funkce, které vám umožňují vytvářet adresáře v určených hostitelích.

V tomto kurzu se dozvíte, jak pomocí modulu souborů Ansible vytvořit, odebrat a upravit oprávnění adresáře pro zadané hostitele.

Jak vytvořit adresář v Ansible

K vytvoření adresáře v Ansible lze použít kteroukoli z následujících metod:

Chcete-li vytvořit adresář v aplikaci Ansible pomocí příkazového modulu, zadejte následující příkaz:

$ ansible all -m příkaz -a "mkdir ~ / backups"

Po zadání výše uvedeného příkazu byste měli získat výstup uvedený níže:

Zadejte přístupovou frázi pro klíč '/ home / user /.ssh / id_rsa ':
[UPOZORNĚNÍ]: Zvažte použití souborového modulu s adresářem state = namísto spuštění 'mkdir'.  Pokud potřebujete použít příkaz, protože soubor je nedostatečný, můžete do tohoto příkazu přidat 'varovat: nepravda' nebo nastavit 'command_warnings = False' v ansible.cfg zbavit se této zprávy.
35.222.210.12 | ZMĚNĚNO | rc = 0 >>

Ověřte, zda váš inventář možných hostitelů v / etc / ansible / hosts obsahuje správné informace o vašich vzdálených hostitelích.

Ačkoli se příkazový modul snadno používá na jednom hostiteli Ansible, stává se velmi neefektivním při práci s více hostiteli s různými adresáři a úkoly.

Abychom čelili této nevýhodě, použijeme modul souborů Ansible a vytvoříme příručku obsahující hostitele, které chceme použít, a adresáře, které si přejeme vytvořit.

POZNÁMKA: Souborový modul lze v Ansible použít také jako jeden příkaz, ale funguje podobně jako příkazový modul.

Chcete-li použít Anbook playbook, vytvořte soubor YAML a vytvořte adresář zadáním následujících položek:

- hostitelé: všechny úkoly:
- name: Možný souborový modul pro vytvoření adresáře
soubor:
cesta: ~ / zálohy
stát: adresář

Uložte soubor a pomocí ansible-playbook vytvořte adresáře:

ansible-playbook mkdir.yml

To by mělo vytvořit výstup, jako je ten níže, což naznačuje, že akce byly úspěšně provedeny pomocí zadaného souboru příručky.

Hrát vše] ********************************************** *************************************************** *************
ÚLOHA [Shromažďování faktů] ******************************************** **************************************************** **
Zadejte přístupovou frázi pro klíč '/ home / user /.ssh / id_rsa ':
ok: [35.222.210.12]
ÚLOHA [Adresář pro vytvoření možného souborového modulu] ******************************************* ***********************************
ok: [35.222.210.12]
HRAJTE RECAP ************************************************* **************************************************** ***********
35.222.210.12: ok = 2 změněno = 0 nedosažitelné = 0 selhalo = 0 přeskočeno = 0 zachráněno = 0 ignorováno = 0

Jak vytvořit více adresářů s položkami

Ansible playbooks také umožňují vytvořit více adresářů pomocí příkazu with_items v souboru YAML.

Chcete-li například vytvořit zálohy pro tři služby, MySQL, úložiště a konfiguraci, můžete vytvořit úlohu zobrazenou v souboru YAML níže:

- hostitelé: všechny úkoly:
- name: Je možné vytvořit více adresářů s_položkami
soubor:
cesta: ~ / backups / item
stát: adresář
with_items:
- 'mysql'
- 'repozitář'
- 'config'

Uložte výše uvedený soubor a spusťte jej pomocí ansible-playbook.

$ ansible-playbook mkdir_multi.yml PLAY [vše] ********************************************** *************************************************** **************************************************** *************************** ***
ÚLOHA [Shromáždění faktů] ******************************************** ********************************* * ********************************* * **********************************
Zadejte přístupovou frázi pro klíč '/ home / user /.ssh / id_rsa ':
ok: [35.222.210.12]
ÚLOHA [Je možné vytvořit více adresářů s_položkami] ******************************************** *************************************************** *************************************************** *************
změněno: [35.222.210.12] => (item = mysql)
změněno: [35.222.210.12] => (položka = úložiště)
změněno: [35.222.210.12] => (položka = konfigurace)
HRAJTE RECAP ************************************************* *************************************************** **************************************************** ****************************************************
35.222.210.12: ok = 2 změněno = 1 nedosažitelný = 0 selhal = 0 přeskočen = 0 zachráněn = 0 ignorován = 0

Výše uvedená příručka by měla vytvořit více adresářů, například ~ / backups / mysql, ~ / backups / repository a ~ / backups / config.

$ ls -la

Výstup seznamu adresářů je uveden níže:

celkem 0
drwxrwxr-x. 5 debian debian 51 6. března 17:26 .
drwx------. 6 debian debian 117 3. března 17:26…
drwxrwxr-x. 2 debian debian 6 6. března 17:26 konfigurace
drwxrwxr-x. 2 debian debian 6 6. března 17:26 mysql
drwxrwxr-x. 2 debian debian 6 6. března 17:26 repozitář

Jak nastavit oprávnění pro adresář

Ansible umožňuje určit oprávnění pro adresář pomocí direktivy režimu. Zvažte následující příručku, která vytvoří adresář a nastaví oprávnění:

- hostitelé: všichni
úkoly:
- name: Možné vytvoření adresáře a nastavení oprávnění
soubor:
cesta: / zálohy
stát: adresář
režim: "u = rw, g = wx, o = rwx"
stát se: ano

Ve výše uvedené položce jsme vytvořili adresář v /. Také jsme se potřebovali stát kořenem, a proto vstup: ano.

$ ansible-playbook povolení.yml PLAY [vše] ********************************************** *************************************************** **************************************************** *************************** ***
ÚLOHA [Shromáždění faktů] ******************************************** ********************************* * ********************************* * **********************************
Zadejte přístupovou frázi pro klíč '/ home / user /.ssh / id_rsa ':
ok: [35.222.210.12]
ÚLOHA [Možné vytvořit adresář a nastavit oprávnění] ****************************************** **************************************************** *************************************************** ****************
změněno: [35.222.210.12]
HRAJ RECAP ************************ **************************************************** *************************** ****************************************************
35.222.210.12: ok = 2 změněno = 1 nedosažitelný = 0 selhal = 0 přeskočen = 0 zachráněn = 0 ignorován = 0

Pokud zobrazíte oprávnění adresáře, který jsme vytvořili, uvidíte následující:

$ ls -lrt / | grep zálohy

Výstup je uveden níže:

drw - wxrwx.   2 root root 6 Mar 6 17:36 zálohy

Jak rekurzivně měnit oprávnění v adresáři

Chcete-li rekurzivně změnit oprávnění adresáře a jeho souborů, jednoduše zadejte rekurzivní položku, jak je znázorněno níže:

- hostitelé: všichni
úkoly:
- name: Možné vytvoření adresáře a nastavení oprávnění
soubor:
cesta: / zálohy
stát: adresář
režim: "u = rw, g = wx, o = rwx"
rekurzivní: ano
stát se: ano

Jak nastavit oprávnění ve více adresářích

Nastavení oprávnění pro více adresářů v Ansible je také jednoduché jako několik řádků záznamů. Zvažte následující příručku.

- hostitelé: všichni
úkoly:
- name: Je možné vytvořit více adresářů s oprávněními
soubor:
cesta: „položka.cesta "
režim: „položka.režim "
stát: adresář
with_items:
- path: '~ / backups / mysql', mode: '0777'
- path: '~ / backups / repository', mode: '0755'
- path: '~ / backups / config', mode: '0707'

Jak je možné odstranit adresář

Chcete-li odebrat adresář a veškerý jeho obsah pomocí playbooku Ansible, zadejte stav jako nepřítomný, jak je znázorněno níže:

- hostitelé: všichni
úkoly:
- name: Možný smazaný adresář
soubor:
cesta: / zálohy
stav: chybí
stát se: ano

Tento příkaz odstraní adresář a všechny podřízené soubory a adresáře.

POZNÁMKA: Ujistěte se, že máte oprávnění pro adresář, na kterém pracujete.

Jak vytvořit adresář s časovým razítkem

V některých případech možná budete muset vytvořit adresář s připojeným časovým razítkem, což může být velmi užitečné, zejména při vytváření záloh. K vytvoření adresáře s časovým razítkem můžeme použít proměnnou ansible_date_time.

Zvažte následující příručku:

- hostitelé: všichni
úkoly:
- name: Je možné přidat časové razítko do adresáře
soubor:
path: "/ backups / mysql ansible_date_time.datum"
stát: adresář
režim: „0777“
stát se: ano

Po spuštění playbooku budete mít adresář s časovým razítkem.

$ ls -l

Výpis adresáře by měl vypadat takto:

celkem 0 drwxrwxrwx. 2 root root 6 Mar 6 18:03 mysql2021-03-06

POZNÁMKA: Abyste se vyhnuli chybám, vždy zkontrolujte syntaxi souboru YAML, kterou chcete použít v Ansible.

Závěr

Tento výukový program vám ukázal, že práce s moduly Ansible je velmi snadná a intuitivní, což zjednodušuje automatizaci složitých úkolů. Pomocí modulu souborů Ansible můžete vytvořit jeden nebo více adresářů a ke každému přidat oprávnění. Stejný modul můžete také použít k odebrání adresáře Další informace o tom, jak používat modul souborů Ansible, najdete v oficiální dokumentaci na stránce zdrojů.

Jak změnit nastavení myši a touchpadu pomocí Xinput v Linuxu
Většina linuxových distribucí je ve výchozím nastavení dodávána s knihovnou „libinput“ pro zpracování vstupních událostí v systému. Může zpracovávat v...
Přemapujte tlačítka myši odlišně pro jiný software pomocí ovládání myší X-Mouse
Možná potřebujete nástroj, který by mohl změnit ovládání myši u každé aplikace, kterou používáte. V takovém případě můžete vyzkoušet aplikaci s názvem...
Recenze bezdrátové myši Microsoft Sculpt Touch
Nedávno jsem četl o Microsoft Sculpt Touch bezdrátová myš a rozhodl se ji koupit. Po chvíli používání jsem se rozhodl se s ním podělit o své zkušenost...