realdocsnyder
Neuer User
- Mitglied seit
- 5 Jan 2006
- Beiträge
- 65
- Punkte für Reaktionen
- 1
- Punkte
- 6
@ Hobbyfahrer
Also "ich" verstehe Dein Begehr nach einer bedingungslosen Abschaltung des WLAN, weil sinnvoll!
Ich habe folgendes Script gebastelt, das ohne installation von cron auskommt:
Du mußt nur dafür sorgen, daß das Script beim Start der Fritz!Box als Hintergrundprozeß (mit '&' am Ende der Aufrufzeile) ausgeführt wird (ich glaube, der Aufruf erfolgt in /var/flash/debug.cfg). Das Script läuft in einer Endlosschleife, verbraucht aber trotzdem nicht viel CPU-Zeit, weil sich der Prozeß zwischendurch "schlafen legt".
Das Script arbeitet wie folgt: zunächst wird der aktuelle Wochentag bestimmt. Dann wird eine Konfigurationsdatei gesucht, die $CFG_DIR/<Wochentagname>.cfg heißt, d.h. es können für jeden Wochentag andere Startup-/Shutdownzeiten angegeben werden. In einer Konfigurationsdatei müssen die beiden Variablen STARTUP und SHUTDOWN im Format hh:mm (2 Ziffern für die Stunde, Doppelpunkt, 2 Ziffer für die Minuten) gesetzt werden, z.B. so:
Die Variable PATTERN muß im Script auf den Namen des Prozesses gesetzt werden (hab noch nicht nachgeschaut, wie der heißt), damit das Script nachschauen kann, ob ein WLAN-Prozeß läuft oder nicht.
Ich habe das Script auf einem UNIX-Rechner ausprobiert. Ich hoffe, es läuft so auch auf der Fritz!Box.
Enjoy ...
Viele Grüsse, realdocsnyder
Also "ich" verstehe Dein Begehr nach einer bedingungslosen Abschaltung des WLAN, weil sinnvoll!
Ich habe folgendes Script gebastelt, das ohne installation von cron auskommt:
Code:
#!/bin/sh
CFG_DIR=/usr/users/rooot
PATTERN=wlan
SHORT_SLEEP=1
LONG_SLEEP=1
checkWLAN() {
RUNNING=`ps | fgrep $PATTERN | fgrep -v fgrep | wc -l`
case "$RUNNING:$1" in
' 0:1') /etc/init.d/rc.net wlanstart ;;
' 1:0') /etc/init.d/rc.net wlanstop ;;
esac
sleep $LONG_SLEEP
}
while [ 1 ]; do
DAY_NAME=`date +%A`
if [ -f "$CFG_DIR/$DAY_NAME.cfg" ]; then
. "$CFG_DIR/$DAY_NAME.cfg"
TIME=`date +%k:%M`
case $TIME in
$SHUTDOWN) checkWLAN 0 ;;
$STARTUP) checkWLAN 1 ;;
*) sleep $SHORT_SLEEP
esac
fi
done
Du mußt nur dafür sorgen, daß das Script beim Start der Fritz!Box als Hintergrundprozeß (mit '&' am Ende der Aufrufzeile) ausgeführt wird (ich glaube, der Aufruf erfolgt in /var/flash/debug.cfg). Das Script läuft in einer Endlosschleife, verbraucht aber trotzdem nicht viel CPU-Zeit, weil sich der Prozeß zwischendurch "schlafen legt".
Das Script arbeitet wie folgt: zunächst wird der aktuelle Wochentag bestimmt. Dann wird eine Konfigurationsdatei gesucht, die $CFG_DIR/<Wochentagname>.cfg heißt, d.h. es können für jeden Wochentag andere Startup-/Shutdownzeiten angegeben werden. In einer Konfigurationsdatei müssen die beiden Variablen STARTUP und SHUTDOWN im Format hh:mm (2 Ziffern für die Stunde, Doppelpunkt, 2 Ziffer für die Minuten) gesetzt werden, z.B. so:
Code:
STARTUP=16:00
SHUTDOWN=22:00
Die Variable PATTERN muß im Script auf den Namen des Prozesses gesetzt werden (hab noch nicht nachgeschaut, wie der heißt), damit das Script nachschauen kann, ob ein WLAN-Prozeß läuft oder nicht.
Ich habe das Script auf einem UNIX-Rechner ausprobiert. Ich hoffe, es läuft so auch auf der Fritz!Box.
Enjoy ...
Viele Grüsse, realdocsnyder