Ansible - Comandi ad hoc
I comandi ad hoc sono comandi che possono essere eseguiti individualmente per eseguire funzioni rapide. Questi comandi non devono essere eseguiti in seguito.
Ad esempio, devi riavviare tutti i server della tua azienda. Per questo, eseguirai i comandi Adhoc da '/usr/bin/ansible'.
Questi comandi ad hoc non vengono utilizzati per la gestione e la distribuzione della configurazione, poiché questi comandi vengono utilizzati una sola volta.
ansible-playbook viene utilizzato per la gestione e la distribuzione della configurazione.
Parallelismo e comandi shell
Riavvia il tuo server aziendale in 12 fork paralleli alla volta. Per questo, dobbiamo configurare SSHagent per la connessione.
$ ssh-agent bash
$ ssh-add ~/.ssh/id_rsa
Per eseguire il riavvio di tutti i server della tua azienda in un gruppo, "abc", in 12 fork paralleli:
$ Ansible abc -a "/sbin/reboot" -f 12
Per impostazione predefinita, Ansible eseguirà i comandi Ad-hoc sopra indicati dall'account utente corrente. Se vuoi cambiare questo comportamento, dovrai passare il nome utente nei comandi ad-hoc come segue:
$ Ansible abc -a "/sbin/reboot" -f 12 -u username
Trasferimento di file
Puoi usare i comandi ad-hoc per fare SCP (Secure Copy Protocol) molti file in parallelo su più macchine.
Trasferimento di file su molti server / macchine
$ Ansible abc -m copy -a "src = /etc/yum.conf dest = /tmp/yum.conf"
Creazione di una nuova directory
$ Ansible abc -m file -a "dest = /path/user1/new mode = 777 owner = user1 group = user1 state = directory"
Eliminazione dell'intera directory e file
$ Ansible abc -m file -a "dest = /path/user1/new state = absent"
Gestione dei pacchetti
I comandi ad-hoc sono disponibili per yum e apt. Di seguito sono riportati alcuni comandi ad-hoc che utilizzano yum.
Il seguente comando controlla se il pacchetto yum è installato o meno, ma non lo aggiorna.
$ Ansible abc -m yum -a "name = demo-tomcat-1 state = present"
Il seguente comando verifica che il pacchetto non sia installato.
$ Ansible abc -m yum -a "name = demo-tomcat-1 state = absent"
Il comando seguente controlla che l'ultima versione del pacchetto sia installata.
$ Ansible abc -m yum -a "name = demo-tomcat-1 state = latest"
Raccolta di fatti
I fatti possono essere usati per implementare le istruzioni condizionali nel playbook. Puoi trovare informazioni ad hoc di tutti i tuoi fatti tramite il seguente comando ad-hoc:
$ Ansible all -m setup