Zum Inhalt

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"
Schlagwörter: