diff --git a/deploy/jobs/stack-ist.sh b/deploy/jobs/stack-ist.sh index 4452c18..81b4070 100644 --- a/deploy/jobs/stack-ist.sh +++ b/deploy/jobs/stack-ist.sh @@ -59,7 +59,13 @@ for t in $(systemctl --user list-timers --no-legend --no-pager 2>/dev/null | awk case "$dienst" in launchpadlib-*) continue ;; esac # Ubuntu-Eigenes, nicht unseres code=$(systemctl --user show -p ExecMainStatus --value "$dienst" 2>/dev/null) wann=$(systemctl --user show -p ExecMainExitTimestamp --value "$dienst" 2>/dev/null | cut -d' ' -f2,3) - if [ -z "$wann" ]; then warn "$dienst ist eingerichtet, aber NIE gelaufen" + # Nach einem Neustart ist der "letzte Lauf" leer, obwohl nichts kaputt ist — + # am 04.09. machte der Radar daraus "hohes Risiko, sofort in Betrieb nehmen". + # Junge Box (< 1 Tag) + Timer hat einen naechsten Termin = wartet, kein Befund. + naechster=$(systemctl --user show -p NextElapseUSecRealtime --value "${dienst%.service}.timer" 2>/dev/null | cut -d' ' -f2,3) + if [ -z "$wann" ] && [ "$(cut -d. -f1 /proc/uptime)" -lt 86400 ] && [ -n "$naechster" ]; then + ok "$dienst wartet auf den ersten Lauf seit dem Neustart (naechster: $naechster)" + elif [ -z "$wann" ]; then warn "$dienst ist eingerichtet, aber NIE gelaufen" elif [ "${code:-0}" = "0" ]; then ok "$dienst zuletzt $wann" else bad "$dienst zuletzt GESCHEITERT (exit $code) am $wann"; fi done diff --git a/deploy/jobs/stack-radar.sh b/deploy/jobs/stack-radar.sh index 46c8000..e7795bd 100644 --- a/deploy/jobs/stack-radar.sh +++ b/deploy/jobs/stack-radar.sh @@ -51,9 +51,16 @@ if [ -f "$UPSTREAM_SKRIPT" ]; then UPSTREAM="$(timeout 240 python3 "$UPSTREAM_SKRIPT" 2>&1)" \ || UPSTREAM="UPSTREAM (Watchlist) ACHTUNG Upstream-Pruefung abgebrochen (exit $?) — $UPSTREAM_SKRIPT nachsehen" + # Nur Aenderungen ans Modell. Beim ersten Lauf (04.09.) bekam es auch die + # "unveraendert"-Zeilen und erfand zu jeder einen "naechsten Schritt" — der + # Prompt-Hinweis half nicht. Fakten filtert das Skript, nicht die Prosa. + ANZ_QUELLEN="$(printf '%s\n' "$UPSTREAM" | grep -cE '^\s+(OK|ACHTUNG)' || true)" + UPSTREAM_NEU="$(printf '%s\n' "$UPSTREAM" | grep -A1 -E '^\s+ACHTUNG' | grep -vE '^--$' || true)" + [ -z "$UPSTREAM_NEU" ] && UPSTREAM_NEU=" OK nichts Neues draussen ($ANZ_QUELLEN Quellen geprueft, alle unveraendert)" IST="$IST -$UPSTREAM" +UPSTREAM (was hat sich draussen getan?) +$UPSTREAM_NEU" fi ROT="$(printf '%s\n' "$IST" | grep -E '^\s+(ROT|ACHTUNG)' || true)"