Ansible : Comment copier un fichier, un répertoire ou un script de l'hôte local vers l'hôte distant ?

Publié: 2019-02-24

Comment copier des fichiers de localhost vers un hôte distant à l'aide d'Ansible

Dans le cadre du service de gestion informatique, les gens traitent de lots of scripts et outils de ligne de commande. Je suis sûr que vous faites face à une situation quotidienne dans laquelle vous devez copier des fichiers ou des scripts sur des milliers d'hôtes distants.

Les gens du service informatique ne se contentent pas de se connecter à chacun thousands of hosts et d'exécuter le script manuellement. Et c'est pourquoi Ansible entre en scène. Ansible est une solution de gestion informatique très puissante disponible gratuitement pour nous.

Dans ce didacticiel, nous allons passer en revue les étapes pour copier des fichiers sur un hôte distant à l'aide d'Ansible.

Qu'est-ce qu'on va faire ?

Copiez le fichier crunchify.txt de l'emplacement /opt/ashah/ vers le répertoire de destination de l'hôte distant 192.66.129.83 /opt/ashah/ .

Étape 1

Installez Ansible sur Linux Ubuntu ou macOS. Suivez les didacticiels pour passer en revue les étapes détaillées.

Étape 2

Comprenons quelques notions de base et l'emplacement des fichiers pour ce didacticiel :

  • Emplacement du fichier de configuration : /etc/ansible/ansible.cfg
  • Fichier de script : /opt/ashah/crunchify.yml
  • fichier hosts : /opt/ashah/hosts
  • fichier à copier : /opt/ashah/crunchify.txt (fichier de test)

Étape 3

contenu du fichier crunchify.yml .

Étape 4

hosts le contenu du fichier. Assurez-vous de changer l'adresse IP de votre hôte distant.

Étape-5

Créez le fichier crunchify.txt avec le contenu ci-dessous.

Étape-6

Exécutez cette commande pour copier le fichier sur l'hôte distant :

  • Command : ansible-playbook -b -vvv -u root crunchify.yml -kkkk –extra-vars « crunchify-group » -i hosts

comprenons tous les paramètres :

  • -b : exécute les opérations avec devenir (identique à —become).
  • -vvv : mode verbeux (-vvv pour plus, -vvvv pour activer le débogage de connexion).
  • -u : se connecter en tant que cet utilisateur (par défaut=None).
  • -kkkk : demande le mot de passe de connexion.
  • –extra-vars : définissez des variables supplémentaires comme clé=valeur ou YAML/JSON, si le nom de fichier est précédé de @.
  • -i : spécifiez le chemin de l'hôte d'inventaire ou une liste d'hôtes séparée par des virgules.

C'est ça. Vous avez réussi à copier le fichier.

Comment vérifier si le fichier est copié sur un nouvel hôte distant ?

Connectez-vous simplement à l'hôte distant et vérifiez l'emplacement /opt/ashah et vous verrez le fichier crunchify.txt

Comment copier le contenu d'un répertoire dans un autre répertoire ?

Modifiez simplement les valeurs src et desc du fichier crunchify.yml . Voici un fichier crunchify.yml mis à jour.

Tous les fichiers du dossier /opt/ashah/ seront désormais copiés sur les hôtes distants.

Faites-moi savoir si vous avez des questions sur la copie d'un fichier vers un emplacement distant à l'aide d'Ansible.