# Internetverbindungs-Testskript Dieses Bash-Skript überwacht die Internetverbindung über einen festgelegten Zeitraum und protokolliert den Status in einer Logdatei. --- ## Beschreibung Das Skript führt alle 20 Sekunden einen Ping-Test gegen die IP-Adresse `8.8.8.8` (Google DNS) durch. Es läuft für insgesamt 20 Minuten und protokolliert, ob die Internetverbindung aktiv ist oder nicht. Die Logs werden in einer separaten Datei gespeichert. --- ## Voraussetzungen - Bash-Umgebung (Linux/Unix/MacOS) - `ping`-Befehl muss verfügbar sein - Gitea-Ordnerstruktur mit Logger-Funktionen (siehe [Logger](#logger)) - Schreibrechte im Log-Verzeichnis --- ## Installation 1. Skript in eine Datei, z.B. `vieruhrtest.sh`, speichern. 2. Ausführbar machen: ```bash chmod +x vieruhrtest.sh ``` 3. Gitea-Logger-Struktur anpassen: - Der Pfad `$HOME/Gitea/logger/logger.sh` muss existieren und die Funktionen `log_init`, `log_start`, `log_info`, `log_warn` und `log_end` bereitstellen. - Das Log-Verzeichnis `$HOME/Gitea/logger/Logs/` muss existieren und beschreibbar sein. --- ## Nutzung ```bash ./vieruhrtest.sh ``` Das Skript läuft automatisch für 20 Minuten und beendet sich danach selbst. --- ## Konfiguration | Variable | Beschreibung | Standardwert | |-----------------|--------------------------------------------------|--------------| | `DURATION` | Gesamtdauer des Tests in Sekunden | 1200 | | `INTERVAL` | Intervall zwischen den Tests in Sekunden | 20 | | `TARGET_IP` | IP-Adresse zum Pingen | 8.8.8.8 | --- ## Logger Das Skript nutzt eine externe Logger-Bibliothek (`logger.sh`), die folgende Funktionen bereitstellen muss: - `log_init $LOGBUCH`: Initialisiert das Logfile - `log_start`: Startet die Protokollierung - `log_info "Nachricht"`: Loggt eine Informationsmeldung - `log_warn "Nachricht"`: Loggt eine Warnmeldung - `log_end`: Beendet die Protokollierung --- ## Beispiel-Logausgabe ``` 2025-10-09 14:00:00: ✅ Internetverbindung ist aktiv. 2025-10-09 14:00:20: ❌ Keine Internetverbindung gefunden. 2025-10-09 14:00:40: ✅ Internetverbindung ist aktiv. ``` --- ## Lizenz [MIT](https://opensource.org/licenses/MIT) ``` ---