SMT3210 V3 Mod - RC.LOCAL

hiddenbit

Neuer User
Mitglied seit
16 Jan 2008
Beiträge
67
Punkte für Reaktionen
0
Punkte
0
Hallo, ich möchte nachdem der Router komplett "hochgefahren" ist, ein Programm ausführen. Speziell möchte ich eine SSH-Verbindung aufbauen. den Befehlsaufruf und die nötigen Programme habe ich und in der Konsole funktioniert es auch problemlos.

Ich habe diesen Aufruf in die rc.local geschrieben, leider macht er es nicht.

Vielleicht liegt es daran, dass das Programm danach nicht beendet wird, sondern gehalten werden muss (bzw. die Verbindung gehalten werden muss).

Vielleicht kann mir ja jemand ein paar Tipps geben. :)

Vielen Dank im voraus.
 
- erstmal muss der Dateiname richtig geschrieben sein: rc.local. So wie das in der Threadueberschrift steht, kann es z.B. nicht funktionieren, weil Linux case sensitive ist.
- dann muss die Datei am richtig Ort sein: /configs/rc.local
- schliesslich muss die Datei ausfuehrbar sein: chmod +x /configs/rc.local

Du kannst die Datei auch von Hand mit der Eingabe "/configs/rc.local" ausfuehren, um zu sehen, ob das funktioniert. Schreib zum Testen erstmal einen einfachen Befehl rein, der sichtbare Spuren hinterlaesst, z.B.:

date > /configs/date.txt

dann sollte nach dem Ausfuehren eine Datei /configs/date.txt existieren mit dem aktuellen Datum drin.
 
Zuletzt bearbeitet:
hallo und danke erstmal.

du hast natürlich recht mit dem hinweis auf die groß- und kleinschreibung. ich habe es bloß im titel deutlicher machen wollen, worum es geht.

durch deinen tipp mit dem ausführungsrechten (chmod) hat es dann auch funktioniert. ich habe dort meine ssh anweisung hinein geschrieben und nach dem neustart des routers war ich auch tatsächlich online. leider nicht lange.
nach ein paar sekunden muss die ssh verbindung wohl wieder getrennt bzw. das programm beendet worden sein. aber genau das sollte eben nicht passieren.

:(

Nachtrag:
So sieht meine rc.local aus:
#!/bin/sh
date > /configs/date.txt

/configs/sshpass -p $PWD /configs/dbclient -y -l $USER 139.18.143.253
 
Zuletzt bearbeitet:
das problem scheint zu sein, dass der dbclient obwohl ich ihn anweise im hintergrund zu laufen (parameter -f) nicht zur shell zurückkehrt. möglicher weise liegt das an der kombination mit sshpass, da bin ich mir aber nicht sicher.

kann es sein, dass die rc.local nicht wirklich erst ausgeführt wird, wenn alles andere gemacht wurde? denn wenn ich eine schleife schreibe, welche nicht zurück zur shell führt und damit das terminal nicht freigibt, wird WLAN nicht aktiviert und lässt sich mit dem WLAN-Knopf auch nicht aktivieren.

soweit meine neuen Erkenntnisse....

:rolleyes:
 
nach ein paar sekunden muss die ssh verbindung wohl wieder getrennt bzw. das programm beendet worden sein. aber genau das sollte eben nicht passieren.

Probier mal den -K Parameter aus, z.B. so (die Variable DROPBEAR_PASS ersetzt hier das Programm sshpass, wenn der Remote Server Public Key Autorisierung nicht unterstuetzt):

export DROPBEAR_PASSWORD=mypass
/configs/dbclient -l user ssh.mysite.de -K5 -f -N

Wenn du auf dem Remote-Server Ausfuehrungsrechte hast, kannst du es auch mit einem remote ausgefuehrten Loop-Script probieren. So wird z.B. das Script namens myloop im Home-Verzeichnis auf dem Server ausgefuehrt:

/configs/dbclient -l user ssh.mysite.de -K5 -f myloop

kann es sein, dass die rc.local nicht wirklich erst ausgeführt wird, wenn alles andere gemacht wurde?
Ja, waer vielleicht guenstiger, unsere Startup -Sachen an die rcS oder so dranzuhaengen. Aendere ich mal bei Gelegenheit. Die o.g. Befehle funktionieren bei mir aber, wenn man vorher z.B. ein sleep 90 ausfuehrt.
 
Zuletzt bearbeitet:

Statistik des Forums

Themen
246,146
Beiträge
2,246,880
Mitglieder
373,655
Neuestes Mitglied
ralf-ddd
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.