Files
wetter_station/setup-monitoring.sh
T

49 lines
1.5 KiB
Bash
Executable File

#!/bin/bash
# Setup Cronjob für Wetterserver-Monitoring (alle 5 Minuten)
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PYTHON_SCRIPT="$SCRIPT_DIR/check_wetterserver.py"
VENV_PYTHON="$SCRIPT_DIR/.venv/bin/python"
if [[ ! -f "$VENV_PYTHON" ]]; then
echo "FEHLER: Python-venv nicht gefunden unter $VENV_PYTHON"
echo "Bitte zuerst: python3 -m venv .venv"
exit 1
fi
CRON_ENTRY="*/5 * * * * $VENV_PYTHON $PYTHON_SCRIPT >> $SCRIPT_DIR/monitor.log 2>&1"
echo "=== Wetterserver-Monitoring Setup ==="
echo ""
echo "Voraussetzung: MONITOR_SMTP_PASSWORD in .env gesetzt?"
grep -q "MONITOR_SMTP_PASSWORD=" "$SCRIPT_DIR/.env" && echo " ✓ .env enthält MONITOR_SMTP_PASSWORD" || echo " ✗ MONITOR_SMTP_PASSWORD fehlt in .env - bitte zuerst eintragen!"
echo ""
echo "Dieser Cronjob prüft alle 5 Minuten ob Wetterdaten ankommen:"
echo " $CRON_ENTRY"
echo ""
echo "Möchten Sie den Cronjob jetzt installieren? (j/n)"
read -r response
if [[ "$response" =~ ^[Jj]$ ]]; then
if crontab -l 2>/dev/null | grep -q "$PYTHON_SCRIPT"; then
echo "Cronjob existiert bereits!"
else
(crontab -l 2>/dev/null; echo "$CRON_ENTRY") | crontab -
echo "✓ Cronjob installiert"
fi
echo ""
echo "Aktive Monitoring-Cronjobs:"
crontab -l | grep check_wetterserver
echo ""
echo "Logs: $SCRIPT_DIR/monitor.log"
echo ""
echo "Testlauf:"
"$VENV_PYTHON" "$PYTHON_SCRIPT"
else
echo "Abgebrochen"
echo ""
echo "Manuell installieren:"
echo " crontab -e"
echo " Zeile einfügen: $CRON_ENTRY"
fi