Files
learning/ansible/004-cli.md
2025-09-06 20:56:07 +02:00

28 lines
1.1 KiB
Markdown

# Comandi ad hoc in Ansible
Ansible consente l'esecuzione di comandi ad hoc tramite la riga di comando. Questi comandi sono impiegati principalmente per operazioni occasionali e non ripetitive, a differenza dei playbook.
## Sintassi di base
La sintassi generale di un comando ad hoc è la seguente:
```bash
ansible [pattern] -m [module] -a "[module options]"
```
Il *pattern* identifica i nodi target su cui eseguire il comando, mentre il modulo specificato determina il tipo di operazione da effettuare.
Alcuni dei moduli più comunemente utilizzati includono `ping`, `setup`, `copy`, `shell`, `service`, e altri. Per eseguire un'operazione di *privilege escalation*, è necessario aggiungere l'opzione `-become`.
Se non viene specificato alcun modulo, Ansible utilizza di default il modulo `command`. Questo modulo è simile al modulo shell, ma presenta alcune limitazioni: non consente l'uso del redirect o del piping.
## Esempi di utilizzo
```bash
ansible db -m shell -a "uptime"
ansible all -m user -a "name=testuser" --become
ansible all -m copy -a "src=/path/to/file dest=/path/to/file"
```