diff --git a/deploy/autoupdate.sh b/deploy/autoupdate.sh index 8eed5c9..1500ee8 100644 --- a/deploy/autoupdate.sh +++ b/deploy/autoupdate.sh @@ -182,6 +182,7 @@ Wahrscheinliche Ursache/Fix (Box-Diagnose): $sugg}" # wieder anschalten. Im Zweifel lieber nicht neustarten. # # Abschalten: MC_AUTOUPDATE_REBOOT=0 in der Umgebung des Cron-Jobs. +# Ausserhalb des Wartungsfensters erzwingen (von Hand): MC_AUTOUPDATE_REBOOT_JETZT=1. reboot_wenn_noetig(){ [ "${MC_AUTOUPDATE_REBOOT:-1}" = "1" ] || { say "Neustart per Env abgeschaltet."; return 0; } [ -f /var/run/reboot-required ] || { say "Kein Neustart noetig."; return 0; } @@ -189,6 +190,16 @@ reboot_wenn_noetig(){ local pakete; pakete="$(sort -u /var/run/reboot-required.pkgs 2>/dev/null | tr " " " ")" + # Sicherung 0 (24.09.2026): neu gestartet wird nur im Wartungsfenster, sonntags 04:00-06:59. + # Anlass: Ein nachgeholter Lauf (Persistent=true beim Einschalten des Timers) startete die Box + # an einem Donnerstagnachmittag neu. Laeufe ausserhalb des Fensters melden den Neustart nur an. + local tag stunde + tag="$(date +%u)"; stunde="$((10#$(date +%H)))" + if [ "${MC_AUTOUPDATE_REBOOT_JETZT:-0}" != "1" ] && { [ "$tag" != "7" ] || [ "$stunde" -lt 4 ] || [ "$stunde" -ge 7 ]; }; then + notify "Neustart steht an (${pakete:-Kernel/libc}), passiert aber erst im Wartungsfenster am Sonntag frueh." + return 0 + fi + # Sicherung 1: kommen die Dienste ohne Login von selbst wieder hoch? # $USER ist in systemd-/Cron-Umgebungen NICHT gesetzt — mit set -u waere das ein # sofortiger Abbruch des ganzen Update-Laufs. id -un funktioniert immer.