Comment profiter au maximum de désarchive ansible

Comment profiter au maximum de désarchive ansible
Le désarchiving fait référence à la décompression des fichiers qui se trouvent dans le .zip, goudron et goudron.format GZ. C'est le processus via quels fichiers sont restaurés à partir d'une archive existante. Cette archive peut être présente localement sur votre système ou sur un serveur distant.

Archiving a ses avantages, le plus grand d'entre eux étant la facilité de portabilité. Il vous permet de regrouper des fichiers de différents types et de les compresser en un seul portable .Fichier Zip / Tar qui peut être décompressé pour récupérer les fichiers d'origine plus tard.

ANIBLE offre également des options d'archives à l'aide de l'anible.construit.module anarchive. Ce module a les options UNZIP disponibles, ainsi que certaines options qui lui permettent de copier des fichiers avant de les extraire.

Ce guide est destiné à vous aider à apprendre comment vous pouvez utiliser le module Unarchive dans ANSIBLE. Nous passerons en revue les bases du module Unarchive, certains paramètres et exemples communs sur la façon de les implémenter.

Cela étant dit, commençons.

Conditions préalables de l'uniforme dans ANIBLE

Voici les exigences pour que le module anarchive ANSIBLE fonctionne correctement sur votre système.

  • Un système avec un préinstallé anable. Nous vous recommandons d'utiliser une distribution Linux.
  • Hôtes éloignés, systèmes séparés ou machines virtuelles. Des logiciels comme Oracle VirtualBox, Vagrant et VMware Workstations sont parfaits pour le travail.
  • Les commandes «Zipinfo», «GTAR» et «Unzip» doivent être installées sur l'hôte.

Nous vous recommandons également d'avoir un savoir-faire de base sur la façon d'exécuter des commandes dans le terminal.

Limitations de l'unichive dans ANIBLE

Tandis que le module Unarchive fonctionne bien avec .goudron, et .Fichiers zip, il ne peut pas être utilisé avec des fichiers du type .gz, .bz2, .fichiers xz. Les fichiers doivent contenir un .Archive de goudron pour que le module fonctionne. Pour les fichiers qui utilisent GTAR, assurez-vous que l'argument -diff est pris en charge.

La section suivante de ce guide couvrira les paramètres du module Unarchive.

Paramètres du module anarchive ANSIBLE

Le module anarchive ANSIBLE a sa propre liste de paramètres qui étendent la fonctionnalité du module global.

Une liste de modules importants est donné ci-dessous.

  • «Attributs» - Ceux-ci régissent les attributs d'un objet de système de fichiers donné.
  • «Copie» - Cette fonctionnalité est livrée avec deux choix, oui ou non. Si l'option sélectionnée est oui, le fichier est copié à l'hôte distant de l'appareil local.
  • «Crée» - Utilisé pour créer un chemin / répertoire.
  • «Exclure» - vous permet d'exclure certains fichiers et répertoires de l'être extrait.
  • «Groupe» - désigne un groupe auquel appartient l'objet de système de fichiers.
  • «Inclure» - Inclure des fichiers et des répertoires que vous souhaitez extraire.
  • «Mode» - régit les autorisations du système de fichiers.
  • «Propriétaire» - désigne un utilisateur en tant que propriétaire d'un objet Système de fichiers

Mis à part les paramètres ci-dessus, plusieurs options sont disponibles avec le module anarchive anible. Pour plus de détails sur les paramètres, consultez la documentation officielle du module anarchive Ansible en ligne.

La section suivante de ce guide passera en revue quelques exemples sur la façon d'utiliser un archive dans ANSIBLE.

Utilisation de Unarchive pour extraire un fichier dans un répertoire donné

L'exemple suivant illustre comment vous pouvez extraire un .Fichier TGZ (Archive nommé.tgz) dans un chemin donné.

- Nom: Extraire Archive.tgz dans / var / lib / archive
anable.construit.Unarchive:
SRC: Archive.tgz
dest: / var / lib / archive

Maintenant, exécutez cette commande dans le terminal Linux pour exécuter un playbook.

ANSIBLE-PLAYBOOK TESTBOOK.YML

«SRC» désigne le fichier qui doit être extrait tandis que «dest:» est utilisé pour spécifier le chemin.

Nous verrons plus d'exemples pour comprendre comment utiliser mieux le module non archique.

Unarchive un fichier disponible sur l'hôte distant

L'exemple suivant illustre comment vous pouvez extraire un fichier déjà présent sur l'hôte ou la machine distant.

- Nom: Extraire un fichier déjà présent sur le système distant.
anable.construit.Unarchive:
src: / tmp / archive.zipper
dest: / usr / local / bin
Remote_src: oui

Le code susmentionné extrait l'archive de fichiers.zip in / usr / local / bin.

Utiliser le module Unarchive pour extraire un fichier en ligne

C'était une fonctionnalité qui a été ajoutée dans la version 2 ANSIBLE.0. Il vous permet d'extraire un fichier disponible en ligne qui n'a pas encore été téléchargé sur le système.

L'exemple suivant illustre comment vous pouvez y parvenir.

- Nom: Extraire un fichier qui n'a pas encore été téléchargé sur votre système
anable.construit.Unarchive:
src: https: ///.zipper
dest: / usr / local / bin
Remote_src: oui

Le bloc de code susmentionné extrait le fichier dans le chemin de destination / USR / local / bac.

La différence de code de livre de jeu avec et sans unarchive

L'exemple suivant est destiné à vous aider à voir la différence entre le code qui utilise le module de commande Unarchive.

Nous commençons par jeter un œil sur la façon d'écrire le code pour copier et des fichiers anarchives. Nous utiliserons le module de copie avec la commande TAR -XVF pour l'extraction.

---
- Nom: Copiez un fichier donné et extraire son contenu
hôtes: test_servers
VARS:
- userId: "Linuxuser1"
- oracle_home: "/ opt / oracle"
- jdk_instl_file: "Server-linux.le goudron.gz "(nom du .le goudron.fichier GZ.)
Tâches:
- Nom: Copiez le contenu des fichiers JDK
devenir: oui
devient_user: "userId"
Tags: application, cpbinaires
copie:
src: "item"
dest: "oracle_home"
Mode: 0755
avec_items:
- "jdk_instl_file"
- Nom: Installer Java
devenir: oui
devient_user: "userId"
Tags: Javainstall
shell: "Tar xvfz oracle_home / jdk_instl_file"
Args:
chdir: "oracle_home"
Enregistrement: Javainstall

Les mêmes tâches peuvent être réalisées de manière beaucoup plus simple en utilisant le module Unarchive comme indiqué ci-dessous.

---
- Nom: Copiez un fichier donné et extraire son contenu
hôtes: test_servers
VARS:
- userId: "Linuxuser1"
- oracle_home: "/ opt / oracle"
- jdk_instl_file: "Server-linux.le goudron.gz "
Tâches:
- Nom: Copier et installer JDK Contenu et Java
devenir: oui
devient_user: "userId"
Tags: Javainstall
Unarchive:
src: "item"
dest: "oracle_home"
Mode: 0755
avec_items:
- "jdk_instl_file"

Remarquez comment il y a une diminution significative des lignes de code par rapport à la méthode qui n'utilise pas le module Unarchive. En utilisant le module Unarchive, nous avons pu fusionner la tâche pour copier et désarchiver en un.

Conclusion

Nous espérons que ce guide vous a aidé à apprendre comment vous pouvez utiliser le module Unarchive dans ANIBLE. Nous avons couvert les bases du module ainsi que des limitations, des conditions préalables et des paramètres. Nous avons également passé en revue quelques exemples pour améliorer notre compréhension. Avec cela, nous vous souhaitons tout le meilleur pour apprendre à utiliser Anible.