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