speedcheck.sh hinzugefügt
commit
685dbebadc
|
|
@ -0,0 +1,72 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
WATCH_DIR="$1"
|
||||||
|
DURATION="${2:-300}" # Standard: 300 Sekunden (5 min)
|
||||||
|
TARGET_GB=80
|
||||||
|
|
||||||
|
if [ -z "$WATCH_DIR" ]; then
|
||||||
|
echo "Usage: $0 /pfad/zum/ordner [dauer_in_sekunden]"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -d "$WATCH_DIR" ]; then
|
||||||
|
echo "Fehler: Ordner '$WATCH_DIR' existiert nicht."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Überwache Ordner: $WATCH_DIR"
|
||||||
|
echo "Dauer: $DURATION Sekunden"
|
||||||
|
echo
|
||||||
|
|
||||||
|
initial_size=$(du -sb "$WATCH_DIR" | awk '{print $1}')
|
||||||
|
start_time=$(date +%s)
|
||||||
|
|
||||||
|
echo "Live-Überwachung gestartet..."
|
||||||
|
echo
|
||||||
|
|
||||||
|
# Fortschrittsbalken + Live-Statistik
|
||||||
|
for ((i=0; i<DURATION; i++)); do
|
||||||
|
current_size=$(du -sb "$WATCH_DIR" | awk '{print $1}')
|
||||||
|
diff=$((current_size - initial_size))
|
||||||
|
|
||||||
|
# Formatierte Größen
|
||||||
|
diff_fmt=$(numfmt --to=iec $diff)
|
||||||
|
curr_fmt=$(numfmt --to=iec $current_size)
|
||||||
|
|
||||||
|
# Fortschritt
|
||||||
|
progress=$(( (i * 100) / DURATION ))
|
||||||
|
bar_len=$((progress / 2))
|
||||||
|
bar=$(printf "%${bar_len}s" | tr " " "#")
|
||||||
|
|
||||||
|
printf "\r[% -50s] %3d%% | Gesamt: %s | Zuwachs: %s" "$bar" "$progress" "$curr_fmt" "$diff_fmt"
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "Überwachung abgeschlossen."
|
||||||
|
echo
|
||||||
|
|
||||||
|
final_size=$(du -sb "$WATCH_DIR" | awk '{print $1}')
|
||||||
|
bytes_copied=$((final_size - initial_size))
|
||||||
|
|
||||||
|
if [ "$bytes_copied" -le 0 ]; then
|
||||||
|
echo "⚠ Keine neuen Daten gefunden."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
rate=$(echo "$bytes_copied / $DURATION" | bc -l)
|
||||||
|
target_bytes=$(echo "$TARGET_GB * 1024 * 1024 * 1024" | bc)
|
||||||
|
seconds_needed=$(echo "$target_bytes / $rate" | bc -l)
|
||||||
|
|
||||||
|
hours=$(printf "%.1f" "$(echo "$seconds_needed / 3600" | bc -l)")
|
||||||
|
minutes=$(printf "%.0f" "$(echo "$seconds_needed / 60" | bc -l)")
|
||||||
|
|
||||||
|
echo "-------------------------------------------"
|
||||||
|
echo "Zusammenfassung:"
|
||||||
|
echo "Neue Daten: $(numfmt --to=iec $bytes_copied)"
|
||||||
|
echo "Durchsatz: $(numfmt --to=iec $rate)/s"
|
||||||
|
echo
|
||||||
|
echo "Zeit für $TARGET_GB GB:"
|
||||||
|
echo " ≈ $hours Stunden"
|
||||||
|
echo " oder ≈ $minutes Minuten"
|
||||||
|
echo "-------------------------------------------"
|
||||||
Loading…
Reference in New Issue