Hallo zusammen,
ich möchte kurz eine Anleitung schreiben, wie man mittels Crontab seinen Router immer zur gleichen Zeit neu booten lassen kann.
Hintergrund: Ich hatte Probleme mit VOIP auf meiner Fritzbox und lasse sie deshalb jede Nacht um 4 Uhr neu starten.
Für Profis ist das wahrscheinlich ein Klacks, als blutiger Linux anfänger musste ich mir jedoch alles zusammensuchen.
Vielleicht kann es ja jemand gebrauchen:
Was man dafür braucht:
1. Optware IPKG (http://wiki.qnap.com/wiki/Install_Optware_IPKG)
2. Installiertes Python (z.B. Version 2.5)
zur Überprüfung der Installation eine SSH Verbindung zum NAS aufbauen und
eingeben. Falls es installiert ist kommt eine Meldung wie in etwa:
Python 2.5.6 (r256:88840, Feb 15 2012, 19:50:54)[GCC 4.2.3] on linux2Type "help", "copyright", "credits" or "license" for more information.
mit
kann man die Pythoneingabe verlassen.
Falls die Meldung nicht erscheinen sollte einfach Python nachinstallieren:
2. Das Modul Pexpect
Dieses kann hier Heruntergeladen werden: http://sourceforge.net/projects/pexpect/files/
Ich habe die Tar Datei mit Winrar entpackt und nach /etc/ kopiert.
Dann per SSH in das entpackte Verzeichnis wechseln und zur Installation von pexpect folgendes eingeben:
3. Python Script zum Neustart
Mein Script sieht wie folgt aus:
#!/opt/bin/python2.5import pexpectchild = pexpect.spawn ('telnet 192.168.1.1')child.expect ('password:')child.sendline ('mein passwort')child.expect ('Console Ausgaben auf dieses Terminal umgelenkt')child.sendline ('reboot')child.sendline ('exit')child.close()
Kurze Erläuterung: Der Befehl pexpect wartet auf die Ausgabe eures Routers wenn man sich per Telnet verbindet. Bei der Fritzbox wird z.b. nur nach dem Passwort gefragt, es erscheint die Meldung "password:"
Falls z.B. zusätzlich nach einem Anmeldenamen gefragt wird müsstet ihr das Script entsprechend anpassen.
Mein Script habe ich kopiert nach /etc/fritzrestart.py
4. Crontab anpassen
Die Datei /etc/config/crontab mit einem Editor bearbeiten und den gewünschten Eintrag ergänzen.
Um die Fritzbox z.B. jeden Morgen um 4 Uhr neu zu starten sieht der Eintrag wie folgt aus:
Um unterschiedliche Zeiten einstellen zu können kann ich folgende Seite nur empfehlen, dort kann man sich per Mausklick einen passenden Crontabeintrag generieren lassen:
http://www.corntab.com/pages/crontab-gui
anschließend muss die Datei per SSH neu eingelesen werden und der crontab neu gesartet werden:
Viel Spaß damit!