Service-Status mit Ansible prüfen¶
Wie prüft man den Status eines (Systemd) Dienstes? Wie sorgt man dafür,
dass Ansible-Kommandos nur ausgeführt werden, wenn ein Dienst
installiert ist? Ohne dass changed
gemeldet wird, auch wenn sich
nichts geändert hat?
Das Beispiel setzt systemd
voraus, ist also beispielsweise auf
CentOS, RHEL und Fedora ausgelegt.
- name: "Check for httpd"
command: "systemctl status httpd"
register: status_httpd
failed_when: >
status_httpd.rc != 0 and ("could not be found" not in status_httpd.stderr)
changed_when: false
- name: "Do something when httpd is installed"
# the command
when: "status_httpd.rc == 0"