#!/bin/bash # USAGE: # check_systemd [UNIT ...] FAILED=() for unit in "$@"; do if ! systemctl is-active "$unit" > /dev/null; then FAILED+=("$unit") fi done if [ ${#FAILED[@]} -gt 0 ]; then echo "systemd CRITICAL: failed units: ${FAILED[@]}" exit 2 fi if ! systemctl is-system-running > /dev/null; then echo systemd WARNING: System state degraded. exit 1 fi echo "systemd OK: $# units checked" exit 0