Il modulo di copia è uno dei moduli importanti di Ansible che è il modulo integrato nello strumento Ansible. Le directory e i file vengono replicati utilizzando i moduli di copia Ansible. Il modulo di copia ha una flessibilità sufficiente. Viene impiegato per copiare le informazioni e i file da un sistema locale agli host remoti target. Il modulo di copia può trasferire i file che hanno avuto parametri sostituiti per loro, come i file di configurazione con modifiche all'indirizzo IP. Puoi svolgere numerose attività intricate nel modulo di copia Ansible.
Parametri diversi del modulo di copia Ansible
Considerando quanto segue sono le diverse variabili che utilizziamo mentre mettiamo in pratica gli esempi.
Parametri richiesti:
Per replicare le directory e i file sull'host remoto target, il modulo copia richiede argomenti specifici.
Dest: Il percorso di destinazione finale del documento o delle directory. Se il percorso originale è una directory e la directory target non viene specificata, la directory di destinazione viene creata automaticamente; Tuttavia, se il percorso originale è un documento e il percorso di destinazione non è specificato come documento, viene lanciata un'eccezione. L'esatto percorso relativo dovrebbe portarti al punto mirato.
Parametri opzionali:
Sebbene ci siano ulteriori parametri opzionali possibili per il comando di copia Ansible, ci concentriamo solo su alcuni di essi. Potremmo essere tenuti a comprendere completamente questo componente.
src: Il percorso originale delle directory e dei documenti. A seconda del contesto, questo percorso può essere relativo o assoluto. I documenti e le sottodirectory sono copiati iterativamente se la posizione di origine è la directory. Replica le informazioni della directory se l'indirizzo di origine è un dizionario e termina con /. In alternativa, duplica la directory che porta il nome dato al percorso mirato.
forza: Se ci sono state modifiche al documento, modifica il documento e la sua modalità predefinita a Sì. Se l'opzione è no, i documenti sono stati trasferiti. Tuttavia, non sono presenti sul percorso desiderato.
Prerequisiti del comando di copia Ansible
Simile a tutti gli altri moduli di Ansible, il modulo Copia ha una serie di requisiti che devono essere soddisfatti prima che possano essere implementati in un playbook Ansible. Questi requisiti sono i seguenti:
Esempio 1: duplicando il documento sul dispositivo host remoto target
Implettiamo il primo scenario del modulo Copia. Duplichiamo il documento dal controller Ansible alla posizione dell'host locale target. Per fare ciò, creiamo prima il playbook per scrivere lo script e menzioniamo il percorso sia del controller che dell'host locale in esso. Quello che segue è il comando per costruire il playbook Ansible:
[root@master ansible]# nano copy_module.YML
Dopo aver creato il playbook COPY_MODULE, ora apre automaticamente un nuovo schermo terminale. Innanzitutto, passiamo la piccola descrizione dell'esempio che implementiamo nel playbook in modo che l'utente possa facilmente comprendere l'esempio nel parametro "Nome". Quindi, forniamo un valore "falso" alla variabile "gall_fact" in modo da poter ricevere le informazioni extra dall'host remoto. Ora specifichiamo l'host remoto nel parametro "host" che è il localhost. Diciamo anche il tipo di connessione che è la "connessione locale".
Successivamente, iniziamo a elencare i compiti nel libro Ansible-Play scrivendo prima il nome dell'attività. Quindi, scriviamo la variabile "Copia". Passiamo quindi a "SRC" e "DEST" in modo da poter specificare il percorso del controller per duplicare il documento e incollarlo nella posizione specificata.
ESCIO IL COPY_MODULE.Playbook YML. In questa sezione, non faremo il file di inventario per stabilire la connessione perché stiamo usando l'host locale qui. Per visualizzare i risultati, scriviamo la seguente affermazione:
[root@master ansible]# ansible-playbook copy_module.YML
La seguente screenshot è l'output del playbook precedentemente eseguito. In questo output, ci mostra i segnali "OK" e "modificati" che dicono all'utente che le attività e i comandi nel playbook "Copy_module" sono eseguiti correttamente.
Esempio 2: duplicando un documento a una directory che non esiste nell'host locale
In questo esempio, duplichiamo il documento nella posizione in cui la directory non è disponibile nel dispositivo host locale. Ad esempio, se abbiamo un documento che vogliamo duplicare alla nuova directory con il nome esatto come documento originale, il modulo Copia crea la nuova directory se la directory target non esiste sul dispositivo target. Innanzitutto, apriamo il copy_module.Playbook YML. Quindi, apportiamo modifiche in base ai requisiti di esempio.
[root@master ansible]# nano copy_module.YML
Nel playbook, cambiamo il percorso di destinazione nel parametro "Dest".
Ora, eseguiamo il playbook per ottenere l'output desiderato nel terminale scrivendo la seguente affermazione:
[root@master ansible]# ansible-playbook copy_module.YML
Esempio 3: duplicando un documento con l'autorizzazione del proprietario
Ecco il terzo scenario del modulo di copia Ansible in cui copiamo il documento con l'autorizzazione del proprietario all'host remoto target. Nel playbook, aggiungiamo inoltre i parametri del proprietario, del gruppo e della modalità.
[root@master ansible]# nano copy_module.YML
Ora, il playbook viene aperto dopo aver scritto la dichiarazione precedente:
Per ottenere i risultati, eseguiamo la seguente dichiarazione:
[root@master ansible]# ansible-playbook copy_module.YML
Ecco il risultato dopo aver eseguito il precedente comando playbook:
Esempio 4: duplicando un documento in una posizione remota
In questa illustrazione, vogliamo duplicare il documento nella posizione remota utilizzando il modulo di copia di Ansible.
[root@master ansible]# nano copy_module.YML
Dopo aver aperto il playbook, modifichiamo i comandi.
Vogliamo duplicare il documento all'host remoto in modo da creare il file di inventario per stabilire la connessione tra il controller Ansible e l'host remoto. Ora creiamo il file di inventario tramite il seguente comando:
[root@master ansible]# ansible-playbook copy_module.YML
Dopo aver creato il file di inventario, creiamo la connessione.
Tutto:
ospiti:
Host1:
Ansible_host: 192.168.7.10
Ansible_user: Iris
Ansible_Password: TPSTPS_1
Ansible_Connection: SSH
Ansible_port: 22
Per ottenere l'output desiderato, eseguire il comando seguente:
[root@master ansible]# ansible-playbook copy_module.yml -i host.YML
Ecco il risultato dell'esecuzione del suddetto comando:
Conclusione
Questo articolo discute sul modulo di copia Ansible. Ora comprendiamo i parametri obbligatori e opzionali del modulo di copia. Sono inclusi più esempi in modo che gli utenti possano afferrarli completamente.