diff options
-rwxr-xr-x | check_systemd | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/check_systemd b/check_systemd new file mode 100755 index 0000000..b2b140c --- /dev/null +++ b/check_systemd @@ -0,0 +1,25 @@ +#!/bin/bash + +# USAGE: +# check_systemd [UNIT ...] + +FAILED=() + +if ! systemctl is-system-running > /dev/null; then + echo systemd CRITICAL: System state degraded. + exit 2 +fi + +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 + +echo "systemd OK: $# units checked" +exit 0 |