Lavorare con le directory in Ansible

Lavorare con le directory in Ansible
Ansible è uno strumento utile per gestire in modo efficiente risorse su una rete di dispositivi. Fornisce varie opzioni agli utenti, il tutto in un unico pacchetto. Ciò include più opzioni di automazione e configurazione dei dati. I componenti principali di Ansible sono piccoli programmi che svolgono attività specifiche su un sistema. Questi sono chiamati moduli e Ansible ne ha molti (più di 800). Quindi, in questo articolo, esaminiamo come possiamo installare Ansible e usarlo per creare una nuova directory se non esiste già. Quindi senza ulteriori indugi, ci immergiamo in esso.

Installa Ansible

Innanzitutto, installiamo Ansible se non è già installato sui nostri sistemi. Per installare Ansible, seguire i passaggi indicati di seguito. Passa alla parte successiva se Ansible è già installato.

Innanzitutto, aggiorniamo il nostro sistema in modo che tutti i pacchetti siano aggiornati e non si riscontrano problemi durante l'installazione delle dipendenze per Ansible. Per aggiornare il sistema, digitiamo il seguente comando.

$ sudo apt update && sudo apt upgrade

Successivamente, installiamo alcuni pacchetti che sono i prerequisiti per l'installazione di Ansible. Per installare questi pacchetti, digita il comando seguente.

$ sudo apt install software-properties-common python3 python3-pip python3-dev sshpass apt-transport-https ca-certificates libffi-dev libkrb5-dev libcurl4-openssl-dev libssl-dev

Infine, possiamo installare Ansible e verificare la sua versione utilizzando la seguente set di comandi.

$ sudo -h pip3 installa ansible

E infine:

Ansible -Version

Ora che abbiamo installato Ansible, abbiamo bisogno di un playbook per scrivere script che automatizzano le nostre attività quotidiane. Un semplice editor di testo come Vim dovrebbe fare in quanto non consuma molta memoria e supporta il formato "yaml" in cui sono scritti gli script ansible.

Ora passiamo al problema a portata di mano, creando una nuova directory in Ansible se non esiste già. Descriveremo le basi di una directory e spiegheremo come possiamo fare nuove directory su Ansible con alcuni esempi.

Cos'è una directory?

Una directory è una posizione che organizza e memorizza i file su un computer. Puoi pensarlo come una tabella di marcia che mostra il contenuto memorizzato e la sua posizione esatta e divisione. Aiuta l'utente a navigare nei file nel sistema designando un percorso specifico per ogni file che abbiamo sul nostro sistema.

Questo utile meccanismo aiuta a mantenere il nostro sistema organizzato senza causare problemi. Ad esempio, immagina di avere due partite, Pinball1 e Pinball2. Questi giochi hanno le loro directory con i loro dati salvati contenenti tutti i progressi dei giocatori nei due giochi. Se non ci fossero directory per distinguere entrambi i giochi, la cartella "Salva dati" verrebbe sempre sovrascritta dal gioco che è stato giocato per ultimo, perdendo tutti i dati precedenti.

Differenza tra un file e una directory

File e directory sono due termini diversi. Una directory è un'area specifica nella memoria del computer contenente altre sottodirectory e file. D'altra parte, un file può essere archiviato in una directory e contiene informazioni utilizzate dal sistema per l'esecuzione di varie applicazioni. Va anche notato che un file ha un'estensione, mentre una directory no.

Fare una directory ad Ansible

Potremmo fare una directory su Ansible utilizzando il modulo file. Questo modulo viene utilizzato per gestire i collegamenti simbolici, le directory e i file. Ha anche altre funzionalità come imporre la proprietà e le autorizzazioni di file e directory. Tutte queste attività vengono eseguite sugli host remoti. Un esempio mostrato di seguito spiega come viene realizzata una nuova directory in Ansible se non esiste.

- Nome: dimostrazione della directory
file:
Path: /src /newdirectory
Stato: directory
Proprietario: radice
Gruppo: radice
Modalità: 0775

Puoi eseguire playbook con l'aiuto del seguente comando:

libro di prova Ansible-Playbook.YML

La sceneggiatura sopra è una nuova directory denominata "nuovo direttore" con percorso /etc /newdirectory. La modalità è un parametro del modulo file che indica che il proprietario e il gruppo della directory possono eseguire, leggere o scriverlo. Tuttavia, altri possono solo eseguire o leggere la directory e il suo contenuto.

Potremmo fare la stessa directory in un altro modo, come mostrato di seguito.

- Nome: dimostrazione della directory
Ansible.costruito.file:
Path: /src /newdirectory
Stato: directory
Modalità: 0775

Controlla se la directory esiste in Ansible

Verificare se esiste una particolare directory su Ansible segue la stessa procedura del controllo di un file. L'unica differenza è che utilizziamo il valore ISDIR per confermare il percorso della directory.

- Nome: controlla se esiste già la directory
Debug:
MSG: "La directory esiste"
Quando: register_directory.STST.esiste e register_directory.statistica.isdir

Crea una directory con un percorso specifico

- Host: tutto
compiti:
- Nome: directory con percorso specifico
file:
Path:/home/cartella1/my_new_directory
Stato: directory

Lo script sopra è una nuova directory nella sottocartella "Folder1" della home directory. La directory viene realizzata sotto il modulo file, che gestisce i file, le directory e le operazioni discusse sopra.

Cambia le autorizzazioni di una directory

Possiamo modificare le autorizzazioni su chi può leggere, scrivere o eseguire il contenuto di una directory o un file sull'host remoto usando Ansible. Lo script è riportato di seguito.

- Host: tutto
compiti:
- Nome: autorizzazioni di directory
file:
Path:/home/cartella1/my_new_directory
Stato: directory
Modalità: "U = RW, G = WX, O = RWX"

Qui vediamo che abbiamo modificato l'autorizzazione (modalità) in “u = rw, g = wx, o = rwx” Questa è un'espressione simbolica che dice al computer di consentire a tutti di leggere e scrivere nella directory. La modalità può essere un'espressione simbolica o un numero ottale come "0755".

Directory ambigua

Nel caso in cui non siamo sicuri se una directory esiste già o meno sul nostro sistema, possiamo scrivere uno script che garantisce che la directory venga controllata se esiste. In caso contrario, una nuova directory con quel nome verrà fatta sull'host remoto.

- Host: localhost
compiti:
- Nome: controlla la directory se esiste
statistica:
Path: /Home /Dir1
Registro: Newfolder
- Nome: "Nel caso esistesse la directory"
debug:
MSG: "Dato la directory esiste"
Quando: Newfolder.statistica.esiste
- Nome: "Ansible Crea directory se non esiste"
file:
Path: /Home /Dir1
Stato: directory
Modalità: 0755
Gruppo: radice
Proprietario: radice
Quando: nuovo.statistica.esiste == false

Qui il gruppo e il root mostrano che l'accesso è consentito per il proprietario e il gruppo "root"

Conclusione

In questo articolo, abbiamo appreso i moduli stat e file in Ansible e come aiutano a gestire directory e file. Abbiamo anche superato gli script Ansible nel caso in cui volessimo fare una directory che non esiste già. Speriamo che tu sia stato in grado di trovare una soluzione alla tua confusione riguardo alle directory in Ansible dopo aver letto questo articolo.