#!/bin/bash # ================================================ # SENTINELLA DI BACKUP (Gira su Pi-1 Master) # Controlla solo che il Pi-2 sia vivo. # ================================================ # --- CONFIGURAZIONE --- # ๐Ÿ‘‡๐Ÿ‘‡ INSERISCI I TUOI DATI VERI QUI ๐Ÿ‘‡๐Ÿ‘‡ BOT_TOKEN="8155587974:AAF9OekvBpixtk8ZH6KoIc0L8edbhdXt7A4" CHAT_ID="64463169" # ๐Ÿ‘†๐Ÿ‘† FINE MODIFICHE ๐Ÿ‘†๐Ÿ‘† # Il bersaglio da controllare (Pi-2 Backup) TARGET_IP="192.168.128.81" TARGET_NAME="๐Ÿ“ Pi-2 (Backup & Monitor)" # File di stato specifico per questo controllo STATE_FILE="/tmp/pi2_watchdog.state" # Funzione per inviare messaggi Telegram con timeout breve send_telegram() { MSG="$1" curl -s --max-time 5 -X POST "https://api.telegram.org/bot$BOT_TOKEN/sendMessage" -d chat_id="$CHAT_ID" -d text="$MSG" -d parse_mode="Markdown" > /dev/null 2>&1 } # Inizializza stato se non esiste if [ ! -f "$STATE_FILE" ]; then echo "UP" > "$STATE_FILE"; fi LAST_STATE=$(cat "$STATE_FILE") # --- IL PING --- # 3 tentativi, 2 secondi di timeout l'uno. # Basta che uno risponda per considerare il bersaglio UP. if ping -c 3 -W 2 "$TARGET_IP" > /dev/null 2>&1; then # === รˆ ONLINE === if [ "$LAST_STATE" == "DOWN" ]; then send_telegram "โœ… **RISOLTO: $TARGET_NAME รจ tornato ONLINE!**%0AIl monitoraggio di rete รจ di nuovo attivo." echo "UP" > "$STATE_FILE" fi else # === รˆ OFFLINE === if [ "$LAST_STATE" == "UP" ]; then # Usiamo un'icona diversa per distinguerlo subito send_telegram "๐Ÿ›ก๏ธ **ALLARME SICUREZZA: $TARGET_NAME รจ OFFLINE!**%0A%0AAttenzione: Il sistema di monitoraggio principale (Super Watchdog) non sta funzionando." echo "DOWN" > "$STATE_FILE" fi fi