codekasten/netz-tools/ermittle-bandbreite.sh

39 lines
932 B
Bash
Raw Normal View History

2005-01-14 04:09:34 +01:00
#!/bin/ash
#
# Ermittlung der aktuellen Download-Rate der Internet-Verbindung
#
# Vorgehensweise:
# - grosse Datei fuer X Sekunden herunterladen und Bytes zaehlen
# - Anzahl der Bytes durch die Anzahl der Sekunden teilen
#
# Probleme:
# - Namensaufloesung kostet Zeit, die nicht beruecksichtigt wird
# - unklar, ob parallel andere Netzzugriffe stattfinden
# - die Bandbreite wird fuer den Testzeitraum vollstaendig gefressen
#
URL="http://ftp.suse.com/pub/suse/i386/live-cd-9.2/SUSE-Linux-9.2-LiveDVD.iso"
TIMEOUT=60
# undefinierte Variablen fuehren zum Abbruch (debug)
set -u
# Fehlermeldungen und Prozessausgaben ("TERMINATED") unterdruecken
exec 2>/dev/null
ermittle_download_bytes()
{
(wget -q --output-document=- "$URL" 2>/dev/null | wc -c) &
sleep $TIMEOUT
killall wget
}
ermittle_download_rate()
{
local BYTES=`ermittle_download_bytes`
echo "$(($BYTES/$TIMEOUT))"
}
echo "`date` - `ermittle_download_rate`"