## Ad-hoc opdrachten met Ansible

Nadat je hebt bevestigd dat je Ansible-host kan communiceren met je hosts, kun je ad-hoc opdrachten en playbooks op je servers uitvoeren.

Elke opdracht die je normaal gesproken via SSH op een externe server zou uitvoeren, kan met Ansible worden uitgevoerd op de servers die in je inventarisbestand zijn opgegeven. Je kunt bijvoorbeeld het schijfgebruik op alle servers controleren met:

    ansible all -a "df -h"

of op 1 server:

    ansible ubuntu-server -a "df -h"

    ubuntu-server | CHANGED | rc=0 >>
    Filesystem                         Size  Used Avail Use% Mounted on
    udev                               1.9G     0  1.9G   0% /dev
    tmpfs                              391M  1.3M  390M   1% /run
    /dev/mapper/ubuntu--vg-ubuntu--lv   29G  6.6G   21G  24% /
    tmpfs                              2.0G     0  2.0G   0% /dev/shm
    tmpfs                              5.0M     0  5.0M   0% /run/lock
    tmpfs                              2.0G     0  2.0G   0% /sys/fs/cgroup
    /dev/sda2                          976M  198M  712M  22% /boot
    /dev/loop0                          55M   55M     0 100% /snap/core18/1880
    /dev/loop1                          72M   72M     0 100% /snap/lxd/16099
    /dev/loop2                          56M   56M     0 100% /snap/core18/1988
    /dev/loop3                          32M   32M     0 100% /snap/snapd/11036
    /dev/loop4                          30M   30M     0 100% /snap/snapd/8542
    /dev/loop5                          70M   70M     0 100% /snap/lxd/19188
    tmpfs                              391M     0  391M   0% /run/user/1001

De gemarkeerde opdracht `df -h`kan worden vervangen door elke gewenste opdracht.

Je kunt Ansible-modules ook uitvoeren via ad-hoc-opdrachten, vergelijkbaar met wat we eerder hebben gedaan met de `ping`module voor het testen van de verbinding. Dit is bijvoorbeeld hoe we de `apt`module kunnen gebruiken om de nieuwste versie van `vim`op alle servers in je inventaris te installeren :

    ansible all -m apt -a "name=vim state=latest"

of op 1 server:

    ansible ubuntu-server -m apt -a "name=vim state=latest"

Je kunt je ook richten op individuele hosts, evenals groepen en subgroepen, wanneer je Ansible-opdrachten uitvoert. Dit is bijvoorbeeld hoe je de `uptime`van elke host in de `servers`groep zou controleren :

    ansible servers -a "uptime"

We kunnen meerdere hosts specificeren door ze te scheiden met dubbele punten:

    ansible server1:server2 -m ping

Voor meer informatie over het gebruik van Ansible, ga naar de officiële website van Ansible voor heel veel informatie over het gebruik van Ansible opdrachten.

Laten we kijken naar de kracht van Ansible en dat zijn Ansible-playbooks