Ansible: come copiare file, directory o script da localhost a host remoto?

Pubblicato: 2019-02-24

Come copiare file da localhost a host remoto utilizzando Ansible

Come parte del dipartimento di gestione IT, le persone si occupano di lots of scripts e strumenti da riga di comando. Sono sicuro che affronterai situazioni quotidiane in cui devi copiare file o script su migliaia di host remoti.

I reparti IT non si limitano ad accedere a ogni thousands of hosts ed eseguono script manualmente. Ed è per questo che entra in scena Ansible. Ansible è una soluzione di gestione IT molto potente disponibile per noi gratuitamente.

In questo tutorial esamineremo i passaggi per copiare i file sull'host remoto utilizzando Ansible.

Cosa faremo?

Copia il file crunchify.txt dalla posizione /opt/ashah/ nella directory di destinazione dell'host remoto 192.66.129.83 /opt/ashah/ .

Passo 1

Installa Ansible su Linux Ubuntu o macOS. Segui i tutorial per esaminare i passaggi dettagliati.

Passo 2

Comprendiamo alcune nozioni di base e la posizione dei file per questo tutorial:

  • Posizione del file di configurazione: /etc/ansible/ansible.cfg
  • File di script: /opt/ashah/crunchify.yml
  • file hosts: /opt/ashah/hosts
  • file da copiare: /opt/ashah/crunchify.txt (file di prova)

Passaggio 3

contenuto del file crunchify.yml .

Passaggio 4

hosts il contenuto del file. Assicurati di cambiare l'indirizzo IP sul tuo host remoto.

Passaggio 5

Crea il file crunchify.txt con il contenuto sottostante.

Passaggio 6

Esegui questo comando per copiare il file sull'host remoto:

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

capiamo tutti i parametri:

  • -b : esegue operazioni con gets (come —become).
  • -vvv : modalità dettagliata (-vvv per ulteriori informazioni, -vvvv per abilitare il debug della connessione).
  • -u : connetti come questo utente (predefinito=Nessuno).
  • -kkkk : richiede la password di connessione.
  • –extra-vars: imposta variabili aggiuntive come chiave=valore o YAML/JSON, se il nome del file è preceduto da @.
  • -i : specifica il percorso host dell'inventario o l'elenco host separato da virgole.

Questo è tutto. Hai copiato correttamente il file.

Come verificare se il file viene copiato su un nuovo host remoto?

Basta accedere all'host remoto e controllare la posizione /opt/ashah e vedrai il file crunchify.txt

Come copiare il contenuto di una directory in un'altra directory?

Basta cambiare il valore src e desc del file crunchify.yml . Ecco un file crunchify.yml aggiornato.

Tutti i file nella cartella /opt/ashah/ verranno ora copiati su host remoti.

Fammi sapere se hai qualche domanda sulla copia del file in una posizione remota usando Ansible.