# 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 ansible.builtin.shell: systemctl list-units --state failed --no-legend | awk '{ print $1 }' register: listing_failed - name: Check log with journalctl ansible.builtin.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