Probleme mir Skripten auf der D-box
-
- Neugieriger
- Beiträge: 12
- Registriert: Donnerstag 14. Oktober 2004, 10:16
Probleme mir Skripten auf der D-box
Hallo!
Ich versuche gerade ein Skript zu schreiben, so dass ich von meiner d-box meinen Eisfair Server herunterfahren kann. Ich versuche die per telnet und zwar indem ich mich mit benutzer "a" und Passwort "a" auf dem Server einlogge und diesen dann per "sudo halt" herunterfahre. Dies funktioniert auch von der D-box wenn ich erst telnet 192.168.1.1, usw. eingebe.
Nur will ich alles in einem Skript zusammenfassen.
Hier der Entwurf
#!/bin/sh
(sleep 2
echo "a"
sleep 2
echo "a"
sleep 2
echo "sudo halt"
sleep 2) | telnet 192.168.1.1;
exit 0;
Ich kann den Server mit dem obrigen Skript auch von sich selbst per telnet herunterfahren, d. hdas skript an sich funktioniert.
Nur leider läuft es nicht auf der d-box. Wenn ich es starte kommt ca. 5 sec nix und dann wieder die ganz normale Eingabeaufforderung ohne legliche Ausgabe. Warum nur? Was kann ich machen?
Ich versuche gerade ein Skript zu schreiben, so dass ich von meiner d-box meinen Eisfair Server herunterfahren kann. Ich versuche die per telnet und zwar indem ich mich mit benutzer "a" und Passwort "a" auf dem Server einlogge und diesen dann per "sudo halt" herunterfahre. Dies funktioniert auch von der D-box wenn ich erst telnet 192.168.1.1, usw. eingebe.
Nur will ich alles in einem Skript zusammenfassen.
Hier der Entwurf
#!/bin/sh
(sleep 2
echo "a"
sleep 2
echo "a"
sleep 2
echo "sudo halt"
sleep 2) | telnet 192.168.1.1;
exit 0;
Ich kann den Server mit dem obrigen Skript auch von sich selbst per telnet herunterfahren, d. hdas skript an sich funktioniert.
Nur leider läuft es nicht auf der d-box. Wenn ich es starte kommt ca. 5 sec nix und dann wieder die ganz normale Eingabeaufforderung ohne legliche Ausgabe. Warum nur? Was kann ich machen?
-
- Developer
- Beiträge: 457
- Registriert: Sonntag 23. März 2003, 00:39
hi,
ich hab nur kurz geschaut, aber telnet bietet auch die Möglichkeit, einen Befehl auszuführen. Leider muss ich da auf
man telnet
verweisen, ich weiss nicht, ob/wie man sich da automatisch einloggen kann. Andernfalls kannst du es mal mit expect versuchen (hm, sehe gerade, dass du von der dbox aus arbeitest. dann gibt es das wohl nicht...)
ciao,
ChakaZulu
ich hab nur kurz geschaut, aber telnet bietet auch die Möglichkeit, einen Befehl auszuführen. Leider muss ich da auf
man telnet
verweisen, ich weiss nicht, ob/wie man sich da automatisch einloggen kann. Andernfalls kannst du es mal mit expect versuchen (hm, sehe gerade, dass du von der dbox aus arbeitest. dann gibt es das wohl nicht...)
ciao,
ChakaZulu
-
- Einsteiger
- Beiträge: 131
- Registriert: Dienstag 6. April 2004, 12:08
Re: Probleme mir Skripten auf der D-box
Siehe auch hier!switchproblem hat geschrieben:Hallo!
Ich versuche gerade ein Skript zu schreiben, so dass ich von meiner d-box meinen Eisfair Server herunterfahren kann.
[-snip-]
Gruß
tetzlav
-
- Neugieriger
- Beiträge: 12
- Registriert: Donnerstag 14. Oktober 2004, 10:16
So habe noch n bißchen weiter Probiert:
Die Sache mit Netcat ist ja eigentlich ganz gut, Problem ist nur, dass ich n sqaushfs Image verwende und die busybox nicht tauschen kann. also kein netcat auf der Box.
Habe es testweise mal eingebastelt, nur habe ich das Problem, dass ich auf dem Eisfair den Netcat Server nicht richtg zum laufen kriege. Ich kann zwar von der Box zum server verbinden und Befehle übertragen, aber diese werden nicht ausgeführt sondern nur angezeigt!?
So jetzt hab ich mir noc ne andere Lösung überlegt:
Der Server ist fast nur Streamingserver für die Box. Also dachte ich mir es wär net schlecht nen cron-job einzutragen (auf dem server), der alle 10 min oder so überprüft ob die D-Box noch an ist. Wenn nicht soll sich der Server herunterfahren.
Ich dachte, dass der Befehl ping vielleicht was auf dem Fehlerkanal zurückgibt. Macht er aber nicht.
Hat einer ne Idde wie ich diese Abfrage per Skript realisieren kann.
Also: bei aufrufen des skripts soll abgefragt werden (z.B. per ping oob die Box an ist). wenn nicht soll sich der Server herunterfahren. Müsste doch net so schwierig dein oder?
wär net wenn einer nen Vorschlag hat
Die Sache mit Netcat ist ja eigentlich ganz gut, Problem ist nur, dass ich n sqaushfs Image verwende und die busybox nicht tauschen kann. also kein netcat auf der Box.
Habe es testweise mal eingebastelt, nur habe ich das Problem, dass ich auf dem Eisfair den Netcat Server nicht richtg zum laufen kriege. Ich kann zwar von der Box zum server verbinden und Befehle übertragen, aber diese werden nicht ausgeführt sondern nur angezeigt!?
So jetzt hab ich mir noc ne andere Lösung überlegt:
Der Server ist fast nur Streamingserver für die Box. Also dachte ich mir es wär net schlecht nen cron-job einzutragen (auf dem server), der alle 10 min oder so überprüft ob die D-Box noch an ist. Wenn nicht soll sich der Server herunterfahren.
Ich dachte, dass der Befehl ping vielleicht was auf dem Fehlerkanal zurückgibt. Macht er aber nicht.
Hat einer ne Idde wie ich diese Abfrage per Skript realisieren kann.
Also: bei aufrufen des skripts soll abgefragt werden (z.B. per ping oob die Box an ist). wenn nicht soll sich der Server herunterfahren. Müsste doch net so schwierig dein oder?
wär net wenn einer nen Vorschlag hat
-
- Oberlamer, Administrator & Supernanny
- Beiträge: 10532
- Registriert: Samstag 13. Juli 2002, 10:49
-
- Neugieriger
- Beiträge: 12
- Registriert: Donnerstag 14. Oktober 2004, 10:16
-
- Oberlamer, Administrator & Supernanny
- Beiträge: 10532
- Registriert: Samstag 13. Juli 2002, 10:49
Code: Alles auswählen
ping -c 3 <ip>
if [ $? -eq 0 ]; then
echo "ping OK"
else
echo "ping NOK"
fi
-
- Einsteiger
- Beiträge: 155
- Registriert: Montag 20. September 2004, 14:33
@switchproblem
Also unter Eisfair.org gibt es ein Package,das heist Autoshutdown,das ist genau das was du suchst.Das Package prüft alle x-Minuten (kann man einstellen),ob ein bestimmter Client noch da ist (also z.B 192.168.0.101).Ist dieser nicht mehr im Netzwerk,wird die Box automatisch runtergefahren.
Ich habe das Package gestern abend inst.,und ausprobiert,hat funktioniert.Nur frage ich mich,ob beim Direktstreaming dieses suchen nach dem Clienten alle x-minuten die Aufnahme nicht stört.Ich habe festgestellt,das beim Direktstreaming Fehler auftreten (kleine Aussetzer),wenn man z.B während der Aufnahme den TuxBoxCommander startet oder auf ein anderes Programm (gleicher Transponder) umschaltet.Daher der Rückschluss mit den Fehlern.
Aber ansonsten ist es glaub ich das was du suchst.
Also unter Eisfair.org gibt es ein Package,das heist Autoshutdown,das ist genau das was du suchst.Das Package prüft alle x-Minuten (kann man einstellen),ob ein bestimmter Client noch da ist (also z.B 192.168.0.101).Ist dieser nicht mehr im Netzwerk,wird die Box automatisch runtergefahren.
Ich habe das Package gestern abend inst.,und ausprobiert,hat funktioniert.Nur frage ich mich,ob beim Direktstreaming dieses suchen nach dem Clienten alle x-minuten die Aufnahme nicht stört.Ich habe festgestellt,das beim Direktstreaming Fehler auftreten (kleine Aussetzer),wenn man z.B während der Aufnahme den TuxBoxCommander startet oder auf ein anderes Programm (gleicher Transponder) umschaltet.Daher der Rückschluss mit den Fehlern.
Aber ansonsten ist es glaub ich das was du suchst.
-
- Neugieriger
- Beiträge: 12
- Registriert: Donnerstag 14. Oktober 2004, 10:16
-
- Einsteiger
- Beiträge: 155
- Registriert: Montag 20. September 2004, 14:33
-
- Neugieriger
- Beiträge: 12
- Registriert: Donnerstag 14. Oktober 2004, 10:16
Auf der Pack-eis Seite steht sogar, dass es in vier Tagen wegen unerreichbarkeit gelöscht wird!? AH!!!! (http://www.pack-eis.de/index.php?p=autoshutdown)
von welcher Seite hast du das Paket denn installiert?
Auf pack-eis ist diese vorgeschlagen: http://home.pages.at/dasernstl/eisfair/eis-list.txt
Die ist bei mir nicht erreichbar....
von welcher Seite hast du das Paket denn installiert?
Auf pack-eis ist diese vorgeschlagen: http://home.pages.at/dasernstl/eisfair/eis-list.txt
Die ist bei mir nicht erreichbar....
-
- Einsteiger
- Beiträge: 155
- Registriert: Montag 20. September 2004, 14:33
-
- Tuxboxer
- Beiträge: 2452
- Registriert: Montag 21. Oktober 2002, 10:04
Welches Squashfs-Image verwendest du denn? Hast u schon mal geschaut, ob netcat auf deinem Image aktiviert ist?switchproblem hat geschrieben:Die Sache mit Netcat ist ja eigentlich ganz gut, Problem ist nur, dass ich n sqaushfs Image verwende und die busybox nicht tauschen kann. also kein netcat auf der Box.
Schon gelesen ???
ENIGMA-DOC
ENIGMA-DOC
-
- Neugieriger
- Beiträge: 12
- Registriert: Donnerstag 14. Oktober 2004, 10:16
-
- Tuxboxer
- Beiträge: 2614
- Registriert: Montag 20. Mai 2002, 10:49
- Image: JTG-Image [IDE] Version 2.4.4
- Image: (7025SS) Merlin
Schau mal im JtG-Forum diesen Thread an, http://www.jackthegrabber.de/viewtopic.php?t=4273 da gibts das komplette Plugin zum Download, inklusive anderer busybox und Anleitung wie man sie im /var/ verwendet. Du mußt Dich halt vorher anmelden.
Andere Möglichkeit ,JtG-Image verwenden und die Anleitung aus diesem Thread verwenden. http://www.jackthegrabber.de/viewtopic.php?t=4389
Seit dem 15.09.2004 sind netcat, sed, grep und noch ein paar extra Befehle in der busybox der JtG-Images enthalten. Imho funktionieren aber beide Lösungen
Greetz von DrStoned
Andere Möglichkeit ,JtG-Image verwenden und die Anleitung aus diesem Thread verwenden. http://www.jackthegrabber.de/viewtopic.php?t=4389
Seit dem 15.09.2004 sind netcat, sed, grep und noch ein paar extra Befehle in der busybox der JtG-Images enthalten. Imho funktionieren aber beide Lösungen
Greetz von DrStoned
Greetz von DrStoned
-
- Neugieriger
- Beiträge: 12
- Registriert: Donnerstag 14. Oktober 2004, 10:16
So jetzt hab ich das autoshutdown paket heruntergeladen gekriegt. funktioniert auch ganz gut!
Danke für eure Unterstützung.
Noch was:
es gibt nen Paket sled. Das fährt den Rechner per Tasterdruck runter. Der Taster wird an die serielle angeschlossen. Hat einer ne Ahnung wie man das Paket so umbauen könnte, dass der Rechner nicht heruntergefahren wird, sondern ein anderes Skript ausgeführt wird.
Habe schon in den Sled Dateien rumgefühlt. finde aber nichts, wo ich den auszuführenden Befehl ändern kann. hab leider auch keine detaillierte Doku zu dem Paket
Danke für eure Unterstützung.
Noch was:
es gibt nen Paket sled. Das fährt den Rechner per Tasterdruck runter. Der Taster wird an die serielle angeschlossen. Hat einer ne Ahnung wie man das Paket so umbauen könnte, dass der Rechner nicht heruntergefahren wird, sondern ein anderes Skript ausgeführt wird.
Habe schon in den Sled Dateien rumgefühlt. finde aber nichts, wo ich den auszuführenden Befehl ändern kann. hab leider auch keine detaillierte Doku zu dem Paket