Hamburg/Nanostation AirOS Skript ausführen
Um eine Nanostation mit AirOS 6.x ein Skript ausführen zu lassen muss man einiges an Aufwand treiben. Hier wird es am Beispiel aufgeführt: Ein Gerät, dass in einer Kirche hängt soll während des Gottesdienstes, Sonntags von 10:00 bis 11:00 Funkstille halten.
AirOS 6.x
Zunächst müssen wir das Custom Script AirOS installieren. Denn das reguläre AirOS führt aus Sicherheitsgründen keine vom Nutzer angelegte Skripte nicht aus. Beide firmwares warnen übrigens auf der Hauptseite der GUI sobald Nutzerskripte installiert sind.
WLAN-Schnittstelle Identifizieren
Mit
iwconfig
findet man heraus, dass ath0 auf dem Beispielgerät die WLAN-Schnittstelle ist.
Persistentes Start-Skript
Das Verzeichnis /etc/crontabs, in dem die auszuführenden cronjobs liegen, überlebt keinen Neustart. Auch cron läuft standardmäßig nicht. Man kann aber ein persistentes Start-Skript anlegen:
vi /etc/persistent/rc.poststart
Hier tippt man folgendes Skript:
#!/bin/sh # Verzeichnis Anlegen: mkdir /etc/crontabs # Kommentar in die Datei backbone schreiben: echo "#min hour day month dayofweek command" >> /etc/crontabs/backbone # Die Schnittstelle ath0 zur 0. Minute der 10. Stunde am 0. Wochentag (Sonntag) runter nehmen: echo "0 10 * * 0 ifconfig ath0 down" >> /etc/crontabs/backbone # Die Schnittstelle um 11:00 wieder hoch nehmen echo "0 11 * * 0 ifconfig ath0 up" >> /etc/crontabs/backbone # cron starten crond enable
Die Einstellungsdatei für cron muss den selben Namen wie der Benutzer in AirOS haben. Das Beispiel oben geht davon aus, dass dies "backbone" ist. In der Voreinstellung von AirOS ist dies "ubnt". Nun muss das Skript noch ausführbar gemacht werden:
chmod +x /etc/persistent/rc.poststart
Zeit Einstellen
Cron setzt voraus, dass man die Uhrzeit kennt. NTP muss also in der GUI unter Services NTP-Client aktiviert sein. Leider bringt das Setzen der Zeitzone in der GUI wenig, denn es gibt keine Einstellung für Sommer-/Winterzeit. Auch hier legt man ein Skript an, dass die Zeitzonen Informationen in der Umgebungsvariable TZ setzt :
vi /etc/persistent/profile
Inhalt:
export TZ=CET-1CEST-2,M3.5.0/2,M10.5.0/3
Persitente Einstellungen Persistent Machen
Auch die persistenten Einstellungen (oben) sind dies gar nicht, bis man folgendes ausführt:
cfgmtd -w -p /etc
Neustarten
reboot
Vergleich mit OpenWRT
crontab -e
#min hour day month dayofweek command 0 10 * * 0 wifi down 0 11 * * 0 wifi up
/etc/init.d/cron start /etc/init.d/cron enable
fertig.