diff --git a/README.md b/README.md new file mode 100644 index 0000000..edf7541 --- /dev/null +++ b/README.md @@ -0,0 +1,132 @@ +# speedcheck.sh -- Ordner-Durchsatz messen & Kopierdauer hochrechnen + +`speedcheck.sh` ist ein Bash-Tool, das die Schreibgeschwindigkeit eines +Ordners misst, indem es ihn für einen konfigurierbaren Zeitraum +überwacht und anschließend berechnet, wie lange ein Kopiervorgang von +**80 GB** dauern würde. + +Das Skript zeigt während der Messung **live** an: + +- wie viele Daten bereits hinzugekommen sind\ +- die aktuelle Gesamtgröße\ +- einen **Fortschrittsbalken** + +Am Ende erfolgt eine Zusammenfassung sowie die Hochrechnung für 80 GB. + +------------------------------------------------------------------------ + +## ✨ Features + +- 📡 **Live-Überwachung** des Datenzuwachses\ +- ⏱ **Konfigurierbare Beobachtungsdauer** (Standard: 300 Sekunden / 5 + Minuten)\ +- 📊 **Fortschrittsbalken**\ +- 🔍 Messung der Schreibgeschwindigkeit (Bytes/s)\ +- 🧮 Hochrechnung: Zeit zum Kopieren von **80 GB**\ +- 💡 Funktioniert mit jedem Ordner (lokal, SMB, USB, NFS, ...) + +------------------------------------------------------------------------ + +## 📥 Installation + +Skript ausführbar machen: + +``` bash +chmod +x speedcheck.sh +``` + +Optional in `/usr/local/bin` installieren: + +``` bash +sudo mv speedcheck.sh /usr/local/bin/speedcheck +``` + +------------------------------------------------------------------------ + +## 🚀 Verwendung + +### Standard (5 Minuten Messdauer) + +``` bash +./speedcheck.sh /pfad/zum/ordner +``` + +### Eigene Messdauer in Sekunden + +``` bash +./speedcheck.sh /pfad/zum/ordner 120 +``` + +Beispiel: Ordner für 2 Minuten überwachen: + +``` bash +./speedcheck.sh /mnt/backup 120 +``` + +------------------------------------------------------------------------ + +## 📤 Beispielausgabe + + Überwache Ordner: /mnt/backup + Dauer: 300 Sekunden + + [#########################-------------------------] 50% | Gesamt: 12G | Zuwachs: 4.1G + ... + + Überwachung abgeschlossen. + + Neue Daten: 8.2G + Durchsatz: 28M/s + + Zeit für 80 GB: + ≈ 0.8 Stunden + oder ≈ 48 Minuten + +------------------------------------------------------------------------ + +## ⚙ Voraussetzungen + +- Linux oder Unix-System\ +- Tools: + - `du` + - `numfmt` + - `bash` + - `bc` + +Unter Debian/Ubuntu bei Bedarf installieren: + +``` bash +sudo apt install coreutils bc +``` + +------------------------------------------------------------------------ + +## 🔧 Konfiguration im Skript + +Oben im Skript kann folgende Variable angepasst werden: + +``` bash +TARGET_GB=80 # Zielgröße für die Hochrechnung +``` + +------------------------------------------------------------------------ + +## 📌 Hinweise + +- Das Skript misst den **realen Datenzuwachs**, daher sind die Werte + beim Kopieren sehr praxisnah.\ +- Ideal für Netzwerkshares (SMB/NFS), USB-Laufwerke oder große + Datenmigrationen.\ +- Je länger die Messung, desto präziser die Hochrechnung. + +------------------------------------------------------------------------ + +## 🧩 Erweiterungsmöglichkeiten + +Wenn du möchtest, kann das Skript erweitert werden um: + +- automatische Erkennung, wenn der Kopiervorgang beendet ist\ +- Export als JSON\ +- Logging in Datei\ +- Telegram/Mattermost/Discord-Benachrichtigungen\ +- GUI-Version (zenity/whiptail)