Utilisation du module de statistique anable

Utilisation du module de statistique anable
Dans Linux, la commande stat est un utilitaire de ligne de commande qui fournit des informations détaillées sur les systèmes de fichiers ou les fichiers.

ANSIBLE, considéré comme l'outil d'automatisation le plus diversifié et le plus populaire, fournit un module pour récupérer les informations de fichiers et de fichiers en tant que commande native Linux Stat.

Dans ce guide, nous comprendrons comment travailler avec le module de statistiques dans ANSIBLE Playbooks.

Vérifiez si le fichier existe

Le module Stat rapportera des informations sur un fichier ou un répertoire spécifié et l'enregistrer à l'aide du paramètre de registre.

Dans l'exemple de playbook suivant, nous vérifions si le fichier / var / log / alternatives.le journal existe.

---
- Nom: module de statistique ANSIBLE
hôtes: tout
devenir: oui
Tâches:
- Nom: Vérifiez les alternatives.enregistrer
STAT:
chemin: / var / log / alternatives.enregistrer
Enregistrement: informations
- Nom: Dites si le fichier est là
déboguer:
MSG: le fichier existe
Quand: Info.stat.existant
- Nom: dire si le fichier manquait
déboguer:
msg: le fichier manquant
Quand: pas d'informations.stat.existant

Dans l'exemple ci-dessus, nous appelons le module STAT pour recueillir des informations sur le fichier / var / log / alternatives.journal à partir de l'hôte distant.

Une fois que nous avons récupéré les informations du fichier, nous les enregistrons dans un fichier de registre_info.

Pour nous assurer que nous pouvons lire le fichier, nous définissons le paramètre de devenir.

Dans la deuxième tâche, nous utilisons le registre des informations pour vérifier si le fichier existe. Si c'est vrai, nous affichons un message indiquant que le fichier cible existe.

La tâche finale renvoie une notification si le fichier n'existe pas sur l'hôte distant. Ceci est facilité si les informations.stat.exister est faux.

Enregistrez et exécutez le livre de jeu:

anable-playbook play checkFile.YML

Voici un exemple de sortie:

La sortie montre que le fichier cible existe sur l'hôte distant.

Vérifiez si un répertoire existe

Le playbook pour vérifier si un répertoire existe en utilisant le module Stat est similaire à celui illustré ci-dessus. Cependant, nous fournissons un chemin vers un répertoire cible comme indiqué ci-dessous:

---
- Nom: module de statistique ANSIBLE
hôtes: tout
devenir: oui
Tâches:
- Nom: Vérifiez le répertoire du journal
STAT:
chemin: / var / log /
Enregistrement: dir_info
- Nom: Dites si le répertoire existe
déboguer:
MSG: le répertoire cible existe
Quand: dir_info.stat.existant
- Nom: Dites si Dir est manquant
déboguer:
MSG: le répertoire est manquant
Quand: pas dir_info.stat.existant

Une fois que nous avons exécuté le livre de jeu, nous devrions voir une sortie similaire à celle ci-dessous:

Direxistes de Playbook anible.YML

Vérifiez si un utilisateur possède un fichier

Le module STAT ANSIBLE renvoie une collection de valeurs pour le fichier ou le répertoire spécifié. Une telle variable de retour est pw_name; Cette variable renvoie le nom d'utilisateur du fichier cible ou du propriétaire du répertoire.

Nous pouvons créer un playbook qui renvoie un message si un nom d'utilisateur spécifique possède le fichier spécifié. Par exemple:

---
- Nom: Vérifiez la propriété du fichier
hôtes: tout
rassemble_facts: non
devenir: oui
Tâches:
- Nom: Obtenez des informations sur les fichiers
STAT:
chemin: / var / log / kern.enregistrer
enregistrer: file_info
- Nom: propriété d'Ubuntu Usert?
déboguer:
MSG: le fichier appartient à l'utilisateur d'Ubuntu
Quand: file_info.stat.PW_NAME != 'Ubuntu'
- Nom: non appartenant à l'utilisateur d'Ubuntu?
déboguer:
MSG: le fichier ne appartient pas à l'utilisateur d'Ubuntu
Quand: pas file_info.stat.PW_NAME != 'Ubuntu'

Dans l'exemple ci-dessus, nous vérifions si l'utilisateur Ubuntu est propriétaire du fichier / var / log / kern.enregistrer. Si c'est vrai, nous renvoyons un message approprié.

Vous trouverez ci-dessous un exemple de sortie:

Vérifier le type de fichier

Une autre valeur de retour du module Stat nous permet de vérifier le type de fichier. En utilisant des valeurs de retour telles que ISRG et ISDIR, nous pouvons vérifier si un fichier est un répertoire:

---
- Nom: Vérifiez le type de fichier
hôtes: tout
Devenez: vous
Tâches:
- Nom: Obtenez des informations sur les fichiers
STAT:
chemin: / var / log / kern.enregistrer
enregistrer: file_info
- Nom: fichier régulier?
déboguer:
MSG: le chemin spécifié est un fichier régulier
Quand: file_info.stat.isreg
- Nom: est un répertoire?
déboguer:
MSG: le chemin spécifié est un répertoire
Quand: file_info.stat.isdir

Enregistrez et exécutez le livre de jeu en tant que:

Valeurs de retour de statistiques ansibles

Voici les valeurs renvoyées par le module STAT ANSIBLE:

  • les attributs - Renvoie les attributs du fichier spécifié.
  • exécutable - Renvoie True si l'utilisateur invoquant a exécuté des autorisations sur le chemin cible.
  • existant - Renvoie vrai si le chemin spécifié existe.
  • gr_name - Renvoie le nom du groupe du propriétaire du fichier.
  • islbk - Renvoie True si le fichier spécifié est un périphérique de bloc
  • ischr - Renvoie True si le fichier spécifié est un fichier de caractères.
  • isreg - Renvoie True si le fichier spécifié est un fichier régulier
  • isdir - Renvoie True si le fichier spécifié est un répertoire.
  • islnk - Renvoie True si le fichier cible est un lien
  • mode - Renvoie l'autorisation du fichier en notation octale

Ce sont des informations de retour sur le module de statistique ANSIBLE. Vérifiez la documentation pour en savoir plus.

Conclusion

Dans ce guide, nous avons discuté de la façon d'utiliser le module ANSIBLE STAT pour recueillir des informations sur les fichiers et les systèmes de fichiers.