Un modulo pratico in Ansible è il modulo file. Questo modulo è responsabile dell'esecuzione di attività come la creazione di file e directory, eliminazione di file e directory, creazione di collegamenti simbolici soft e duri, aggiunta e modifica delle autorizzazioni di file e directory e altro ancora.
Questa guida ti guiderà attraverso come lavorare con il modulo file ansible. Illustreremo questo usando una raccolta di esempi e playbook.
NOTA: Assicurati di avere accesso agli host remoti specificati nel file di inventario di Ansible.
Come funziona il modulo file ansible
L'ansible.costruito.Il modulo file è nell'installazione ansible predefinita come parte di Ansible-Core. Ansible consiglia di fare riferimento al modulo usando il "nome completamente qualificato" anziché il nome del modulo breve per evitare conflitti con moduli di nomi simili.
Il modulo file contiene una raccolta di parametri predefiniti per la gestione dei file. Usiamo questi parametri per configurare le azioni eseguite sull'host remoto.
I seguenti sono parametri importanti che è possibile utilizzare:
Controlla i documenti del modulo del file Ansible per altri parametri predefiniti.
Il modo migliore per imparare a lavorare con il modulo di file Ansible è per esempi.
Modulo di file ansible: esempi pratici
NOTA: Questa guida presuppone che tu abbia un nodo di controllo Ansible e i tuoi host di destinazione aggiunti al tuo file di inventario.
Come creare un file vuoto
Per creare un file vuoto utilizzando il modulo file Ansible, impostiamo lo stato su come illustrato nel playbook.
---Il playbook sopra contiene la configurazione di ANSIBE di base:
Salva il playbook ed eseguilo sugli host remoti:
Ansible-PlayBook EmptyFile.YMLCome creare più file
Ansible ti consente di creare più file in un'unica attività. Di seguito è riportato un esempio di playbook:
---Nel playbook, utilizziamo due voci Ansible:
Esegui Ansible-Playbook per creare più file specificati:
file multipli Ansible-Playbook.YMLCome creare un file con contenuto
Negli esempi sopra, creiamo file vuoti usando il comando touch. Per creare un file con contenuto, possiamo utilizzare il modulo Copia e impostare il parametro del contenuto sul contenuto del file.
Di seguito è riportato un esempio di playbook:
---I moduli e i parametri nel playbook sopra sono:
Esegui il playbook:
Ansible-Playbook con Content.YMLCome creare una directory
Il playbook utilizzato per creare una directory utilizzando il modulo file Ansible è simile alla creazione di un file vuoto. Tuttavia, come mostrato di seguito, abbiamo impostato lo stato su "directory" anziché "file":
---Come eliminare un file o un collegamento simbolico
La rimozione di file, directory o collegamenti simbolici è molto semplice; Tutto quello che dobbiamo fare è impostare lo stato in assenza, come mostrato nel playbook qui sotto:
---Il playbook non farà nulla se il file specificato non esiste.
Come cambiare il permesso di una directory
Usiamo i parametri del proprietario, del gruppo e della modalità del Playbook per modificare l'autorizzazione di una directory.
L'esempio seguente imposterà le autorizzazioni specificate sulla directory.
---Nell'esempio di playbook sopra, setiamo diventa: vero. Ciò è necessario quando si impostano le autorizzazioni per altri utenti, tranne ansible_user
Usando la modalità simbolica
Ansible consente di impostare le autorizzazioni in modalità simbolica anziché in formato ottale. La modalità seguente è equivalente a 0777.
---NOTA: L'impostazione 0777 su una directory come /var /log non è la migliore pratica e l'abbiamo usata qui solo a scopo illustrativo.
Modifica le autorizzazioni della directory in modo ricorsivo
Se si desidera modificare le autorizzazioni su una directory in modo ricorsivo, è possibile utilizzare il parametro ricorrente come mostrato nel playbook qui sotto:
---Impostazione Recurrse: True influenzerà i file all'interno della directory genitore specificata.
Come creare un collegamento simbolico
La creazione di un collegamento simbolico utilizzando il modulo file ansible è semplice come la creazione di una directory vuota. In questo caso, abbiamo impostato lo stato su collegamento come mostrato nel playbook di esempio seguente:
---Come eliminare un collegamento simbolico
La rimozione di un collegamento simbolico è simile alla rimozione di un file normale.
---Come modificare il tempo di accesso
È possibile modificare il tempo di accesso e modifica utilizzando i parametri Access_time e Modification_time.
Esempio di playbook:
- diventa veroImpostiamo Access_time come ora corrente utilizzando la funzione ora.
È inoltre possibile fornire tempo per i parametri Access_time e Modification_time nel formato (come stringa):
Aaaassico.SsConclusione
Questa guida ti ha aiutato a capire come lavorare con il modulo di file Ansible in un playbook.