Resilience : ecran pause, reconnexion WS auto, watchdog systemd, WiFi monitor
- WebSocket : reconnexion avec backoff exponentiel au lieu de reload page - Ecran pause avec tasse de cafe quand le backend est injoignable - Endpoint /api/health pour monitoring externe - Watchdog systemd (sd_notify READY=1 + WATCHDOG=1 toutes les 10s) - Service systemd durci (Type=notify, WatchdogSec=30, KillMode, limites) - WiFi watchdog : script + timer systemd, verifie la gateway toutes les 60s - Destinations : fallback url_tunnel (WireGuard) en priorite Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
28
scripts/wifi-watchdog.sh
Normal file
28
scripts/wifi-watchdog.sh
Normal file
@@ -0,0 +1,28 @@
|
||||
#!/bin/bash
|
||||
# Surveille la connexion WiFi et la rétablit si elle tombe.
|
||||
# Conçu pour Surface Pro (wlan0) — lancé par cron ou systemd timer.
|
||||
|
||||
IFACE="wlan0"
|
||||
GATEWAY=$(ip route show default dev "$IFACE" 2>/dev/null | awk '{print $3}' | head -1)
|
||||
LOG_TAG="wifi-watchdog"
|
||||
|
||||
if [ -z "$GATEWAY" ]; then
|
||||
logger -t "$LOG_TAG" "Pas de gateway sur $IFACE, tentative reconnexion..."
|
||||
nmcli device connect "$IFACE" 2>&1 | logger -t "$LOG_TAG"
|
||||
sleep 5
|
||||
GATEWAY=$(ip route show default dev "$IFACE" 2>/dev/null | awk '{print $3}' | head -1)
|
||||
fi
|
||||
|
||||
if [ -n "$GATEWAY" ]; then
|
||||
if ! ping -c 2 -W 3 -I "$IFACE" "$GATEWAY" > /dev/null 2>&1; then
|
||||
logger -t "$LOG_TAG" "Ping gateway $GATEWAY echoue, reconnexion WiFi..."
|
||||
nmcli device disconnect "$IFACE" 2>&1 | logger -t "$LOG_TAG"
|
||||
sleep 2
|
||||
nmcli device connect "$IFACE" 2>&1 | logger -t "$LOG_TAG"
|
||||
sleep 5
|
||||
if ! ping -c 2 -W 3 -I "$IFACE" "$GATEWAY" > /dev/null 2>&1; then
|
||||
logger -t "$LOG_TAG" "Toujours pas de connexion, restart NetworkManager..."
|
||||
systemctl restart NetworkManager
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
Reference in New Issue
Block a user