Utilizzo del modulo stat Ansible

Utilizzo del modulo stat Ansible
In Linux, il comando STAT è un'utilità della linea di comando che fornisce informazioni dettagliate su filesystem o file.

Ansible, considerato lo strumento di automazione più diversificato e popolare, fornisce un modulo per recuperare le informazioni di file e file system come comando nativo Linux Stat.

In questa guida, capiremo come lavorare con il modulo stat in Ansible Playbooks.

Controlla se esiste un file

Il modulo STAT recupererà informazioni su un file o directory specificato e lo salverà utilizzando il parametro del registro.

Nel seguente esempio di playbook, controlliamo se il file/var/log/alternative.Il registro esiste.

---
- Nome: Modulo stat ANSible
Host: tutto
Diventa: sì
compiti:
- Nome: controlla le alternative.tronco d'albero
statistica:
Path:/var/log/alternative.tronco d'albero
Registro: informazioni
- Nome: dire se il file è lì
debug:
MSG: esiste un file
Quando: informazioni.statistica.esiste
- Nome: racconta se il file mancante
debug:
MSG: il file mancante
Quando: non informazioni.statistica.esiste

Nell'esempio sopra, chiamiamo il modulo stat per raccogliere informazioni sul file/var/log/alternative.Registra dall'host remoto.

Una volta recuperati le informazioni sul file, le salviamo in un registro file_info.

Per assicurarci di poter leggere il file, impostiamo il parametro diventa su True.

Nella seconda attività, utilizziamo il registro delle informazioni per verificare se il file esiste. Se vero, visualizziamo un messaggio che indica il file di destinazione esiste.

L'attività finale restituisce una notifica se il file non esiste sull'host remoto. Questo è facilitato se le informazioni.statistica.esistere è falso.

Salva ed esegui il playbook:

Ansible-Playbook Play CheckFile.YML

Ecco un esempio di esempio:

L'output mostra che il file target esiste sull'host remoto.

Controlla se esiste una directory

Il playbook da verificare se esiste una directory usando il modulo stat è simile a quello mostrato sopra. Tuttavia, forniamo un percorso a una directory target come mostrato di seguito:

---
- Nome: Modulo stat ANSible
Host: tutto
Diventa: sì
compiti:
- Nome: Controlla la directory del registro
statistica:
Path:/var/log/
Registro: dir_info
- Nome: dire se esiste la directory
debug:
MSG: esiste la directory target
Quando: dir_info.statistica.esiste
- Nome: dì se manca dir
debug:
MSG: manca la directory
Quando: non dir_info.statistica.esiste

Una volta eseguito il playbook, dovremmo vedere un output simile a quello mostrato di seguito:

ansible-playbook direxisti.YML

Controlla se un utente possiede un file

Il modulo Stat ANSIBLE restituisce una raccolta di valori per il file o la directory specificata. Una di queste variabili di reso è PW_NAME; Questa variabile restituisce il nome utente del file di destinazione o del proprietario della directory.

Possiamo creare un playbook che restituisca un messaggio se un nome utente specifico possiede il file specificato. Per esempio:

---
- Nome: controlla la proprietà del file
Host: tutto
Gather_Facts: no
Diventa: sì
compiti:
- Nome: Ottieni informazioni sul file
statistica:
Path:/var/log/kern.tronco d'albero
Registro: file_info
- Nome: di proprietà di Ubuntu Usert?
debug:
MSG: il file è di proprietà dell'utente Ubuntu
Quando: file_info.statistica.pw_name != 'Ubuntu'
- Nome: non di proprietà dell'utente Ubuntu?
debug:
MSG: il file non è di proprietà dell'utente Ubuntu
Quando: non file_info.statistica.pw_name != 'Ubuntu'

Nell'esempio sopra, controlliamo se l'utente Ubuntu possiede il file/var/log/kern.tronco d'albero. Se vero, restituiamo un messaggio appropriato.

Di seguito è riportato un output di esempio:

Controllare il tipo di file

Un altro valore di ritorno del modulo STAT ci consente di controllare il tipo di file. Usando i valori di restituzione come isreg e isdir, possiamo verificare se un file è una directory:

---
- Nome: controllo Tipo di file
Host: tutto
Diventa: voi
compiti:
- Nome: Ottieni informazioni sul file
statistica:
Path:/var/log/kern.tronco d'albero
Registro: file_info
- Nome: file normale?
debug:
MSG: il percorso specificato è un file normale
Quando: file_info.statistica.isreg
- Nome: è una directory?
debug:
MSG: il percorso specificato è una directory
Quando: file_info.statistica.isdir

Salva e esegui il playbook come:

Valori di restituzione di stat ansible

Di seguito sono riportati i valori restituiti dal modulo stat Ansible:

  • attributi - Restituisce gli attributi del file specificato.
  • eseguibile - Restituisce vero se l'utente invocato ha eseguito le autorizzazioni sul percorso target.
  • esiste - Restituisce vero se esiste il percorso specificato.
  • Gr_name - Restituisce il nome del gruppo del proprietario del file.
  • islbk - Restituisce vero se il file specificato è un dispositivo a blocchi
  • ischr - Restituisce vero se il file specificato è un file di caratteri.
  • isreg - Restituisce vero se il file specificato è un file normale
  • isdir - Restituisce vero se il file specificato è una directory.
  • islnk - Restituisce vero se il file target è un collegamento
  • modalità - Restituisce l'autorizzazione del file in notazione ottale

Queste sono alcune informazioni di restituzione del modulo stat Ansible. Controlla la documentazione per saperne di più.

Conclusione

In questa guida, abbiamo discusso di come utilizzare il modulo Stat ANSIBE per raccogliere informazioni su file e file system.