81 lines
2.3 KiB
Markdown
81 lines
2.3 KiB
Markdown
# 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 |
|
|
|
|
---
|
|
<a name="logger"></a>
|
|
|
|
## 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)
|
|
```
|
|
|
|
--- |