Travailler avec des répertoires dans ANSIBLE

Travailler avec des répertoires dans ANSIBLE
ANSIBLE est un outil pratique pour gérer efficacement les ressources par rapport à un réseau d'appareils. Il offre diverses options aux utilisateurs, tous dans un package. Cela comprend plusieurs options d'automatisation et configuration de données. Les principales composantes d'Ansible sont de minuscules programmes qui effectuent des tâches spécifiques sur un système. Ceux-ci sont appelés modules, et ANSIBLE en a beaucoup (plus de 800). Ainsi, dans cet article, nous examinons comment nous pouvons installer ANIBLE et l'utiliser pour créer un nouveau répertoire si l'on n'existe pas déjà. Donc sans plus tarder, plongeons-y.

Installer ANSIBLE

Tout d'abord, nous installons ANSIBLE s'il n'est pas déjà installé sur nos systèmes. Pour installer ANSIBLE, suivez les étapes ci-dessous. Passez à la partie suivante si ANIBLE est déjà installé.

D'abord et avant tout, nous mettons à jour notre système afin que tous les packages soient à jour et qu'aucun problème ne soit rencontré lors de l'installation des dépendances pour ANIBLE. Pour mettre à jour le système, nous saisissons la commande suivante.

$ sudo apt Update && sudo apt upgrade

Ensuite, nous installons certains packages qui sont les conditions préalables pour installer ANIBLE. Pour installer ces packages, saisissez la commande suivante.

$ sudo apt install logiciel-properties-common python3 python3-pip python3-dev sshpass apt-transport-https ca-certificats libffi-dev libkrb5-dev libcurl4-opennsl-dev libssl-dev

Enfin, nous pouvons installer ANSIBLE et vérifier sa version en utilisant l'ensemble de commandes suivant.

$ sudo -h pip3 installer anible

Et enfin:

ANSIBLE - Version

Maintenant que nous avons installé Ansible, nous avons besoin d'un livre de jeu pour écrire des scripts qui automatiseront nos tâches quotidiennes. Un éditeur de texte simple comme VIM devrait faire car il ne consomme pas beaucoup de mémoire et prend en charge le format «YAML» dans lequel les scripts ANNIBL sont écrits.

Maintenant, tournons-nous vers le problème à accomplir, créant un nouveau répertoire dans ANSIBLE s'il n'existe pas déjà. Nous décrirons les bases d'un répertoire et expliquerons comment nous pouvons faire de nouveaux répertoires sur ANSIBLE avec quelques exemples.

Qu'est-ce qu'un répertoire?

Un répertoire est un emplacement qui organise et stocke les fichiers sur un ordinateur. Vous pouvez le considérer comme une feuille de route qui montre le contenu stocké et son emplacement exact et sa division. Il aide l'utilisateur à naviguer dans les fichiers du système en désignant un chemin spécifique pour chaque fichier que nous avons sur notre système.

Ce mécanisme utile aide à garder notre système organisé sans causer de problèmes. Par exemple, imaginez que vous avez deux matchs, Pinball1 et Pinball2. Ces jeux ont leurs répertoires avec leurs données enregistrées contenant tous les progrès des joueurs dans les deux jeux. S'il n'y avait pas de répertoires pour distinguer les deux jeux, le dossier «Save Data» serait toujours écrasé par le jeu qui a été joué en dernier, perdant toutes les données précédentes.

Différence entre un fichier et un répertoire

Les fichiers et répertoires sont deux termes différents. Un répertoire est un domaine spécifique dans la mémoire informatique contenant d'autres sous-répertoires et fichiers. D'un autre côté, un fichier peut être stocké dans un répertoire et contient des informations utilisées par le système pour exécuter diverses applications. Il convient également de noter qu'un fichier a une extension, alors qu'un répertoire ne fait pas.

Faire un répertoire dans ANSIBLE

Nous pouvons faire un répertoire sur ANSIBLE en utilisant le module de fichier. Ce module est utilisé pour gérer les liens symboliques, les répertoires et les fichiers. Il dispose également d'autres fonctionnalités telles que l'imposition de fichiers et la propriété et les autorisations. Toutes ces tâches sont effectuées sur les hôtes éloignés. Un exemple indiqué ci-dessous explique comment un nouveau répertoire est rendu dans ANMIBLE s'il n'existe pas.

- Nom: démonstration du répertoire
déposer:
chemin: / src / newDirectory
État: répertoire
propriétaire: root
groupe: root
Mode: 0775

Vous pouvez exécuter PlayBooks à l'aide de la commande suivante:

ANSIBLE-PLAYBOOK TESTBOOK.YML

Le script ci-dessus fait un nouveau répertoire nommé «Nouveau réalisateur» avec Path / etc / NewDirectory. Le mode est un paramètre du module de fichier qui indique que le propriétaire et le groupe du répertoire peuvent l'exécuter, le lire ou l'écrire. Cependant, d'autres ne peuvent exécuter ou lire que le répertoire et son contenu.

Nous pouvons faire le même répertoire d'une autre manière, comme indiqué ci-dessous.

- Nom: démonstration du répertoire
Anable.construit.déposer:
chemin: / src / newDirectory
État: répertoire
Mode: 0775

Vérifiez si le répertoire existe dans ANIBLE

Vérifier si un répertoire particulier existe sur ANSIBLE suit la même procédure que la vérification d'un fichier. La seule différence est que nous utilisons la valeur ISDIR pour confirmer le chemin du répertoire.

- Nom: Vérifiez si le répertoire existe déjà
Déboguer:
MSG: «Le répertoire existe»
Quand: registre_directory.STST.existe et registre_directory.stat.isdir

Créer un répertoire avec un chemin spécifique

- hôtes: tout
Tâches:
- Nom: répertoire avec chemin spécifique
déposer:
Chemin: / Home / Folder1 / MY_NEW_Directory
État: répertoire

Le script ci-dessus fait un nouveau répertoire dans le sous-dossier «Folder1» du répertoire domestique. Le répertoire est réalisé sous le module de fichier, qui gère les fichiers, les répertoires et les opérations discutés ci-dessus.

Changer les autorisations d'un répertoire

Nous pouvons modifier les autorisations sur qui peut lire, écrire ou exécuter le contenu d'un répertoire ou d'un fichier sur l'hôte distant en utilisant Anible. Le script est donné ci-dessous.

- hôtes: tout
Tâches:
- Nom: Autorisations de répertoire
déposer:
Chemin: / Home / Folder1 / MY_NEW_Directory
État: répertoire
MODE: "u = rw, g = wx, o = rwx"

Ici, nous voyons que nous avons changé l'autorisation (mode) en «u = rw, g = wx, o = rwx» c'est une expression symbolique qui dit à l'ordinateur de laisser tout le monde lire et écrire dans le répertoire. Le mode peut être une expression symbolique ou un numéro octal comme «0755».

Répertoire ambigu

Dans le cas où nous ne savons pas si un répertoire existe déjà ou non sur notre système, nous pouvons écrire un script qui garantit que le répertoire sera vérifié s'il existe. Si ce n'est pas le cas, un nouveau répertoire de ce nom sera fait sur l'hôte distant.

- hôtes: localhost
Tâches:
- Nom: Vérifiez le répertoire s'il existe
STAT:
chemin: / home / dir1
Registre: tout le nouveau
- Nom: "Dans le cas où le répertoire existait"
déboguer:
MSG: "Le répertoire donné existe"
Quand: nouveau.stat.existant
- Nom: "ANSIBLE Créer un répertoire s'il n'existe pas"
déposer:
chemin: / home / dir1
État: répertoire
Mode: 0755
groupe: root
propriétaire: root
Quand: Nouveau.stat.existe == faux

Ici, le groupe et la racine montrent que l'accès est autorisé pour le propriétaire et le groupe «racine»

Conclusion

Dans cet article, nous avons appris les modules de statistiques et de fichiers dans Ansible et comment ils aident à gérer les répertoires et les fichiers. Nous avons également passé en revue des scripts anible au cas où nous voulions faire un répertoire qui n'existe pas déjà. Nous espérons que vous avez pu trouver une solution à votre confusion concernant les répertoires dans ANSIBLE après avoir lu cet article.