# This playbook lets you safely display systemd logs for failed services # and then restart it - hosts: mirrorlist_proxies gather_facts: false tasks: - name: listing failed units shell: systemctl list-units --state failed --no-legend | awk '{ print $1 }' register: listing_failed - name: check log with journalctl shell: journalctl -lru {{ item }} -n 50 register: display_log with_items: "{{ listing_failed.stdout_lines[0:] }}" - debug: var=listing_failed.stdout_lines[0:] - name: display log debug: var=display_log.stdout_lines ignore_errors: true when: display_log is defined - name: restart failed service systemd: name: "{{ item }}" state: restarted with_items: "{{ listing_failed.stdout_lines[0:] }}" register: restart_service - debug: var=restart_service.stdout_lines