Server per telent runterfahren....

Das Original Benutzerinterface Neutrino-SD incl. zapit, sectionsd, yWeb etc...
ShadowMG
Neugieriger
Neugieriger
Beiträge: 18
Registriert: Freitag 16. Januar 2004, 20:08

Server per telent runterfahren....

Beitrag von ShadowMG »

Kopie aus "Grab"-Thread:

Hi Leute,

ich suche nach einer Lösung, meinen Streaming-Linux-Rechner über die Box runterzufahren.
Dabei versuche ich es im Moment mit Telnet und was anderes fällt mir im Moment auch nicht ein. SSH-Client gibt es ja keinen auf der Box, oder??

Das ganze soll am besten genauso einfach zu bedienen sein, wie das WOL-Skript von alex(W??).
Na Jedenfalls wird über die blaue Taste ein Shellskript aufgerufen. Das gleiche versuche ich auch mit telnet, nur dass ich immer EXIT auf das unten stehende Skript zurückbekommen (noch lasse ich es in der Shell laufen, weil es ja noch nicht geht!!)

Hier der Code...

Code: Alles auswählen

#!/bin/sh
( echo XXXXX //login
sleep 2
echo XXXXXXXXXXX //Passwort
sleep
echo "shudtown -h now"
sleep 2
echo logout ) | telnet 10.10.10.2

Wäre dankbar, wenn irgemdwer wüsste (und hier auch posten könnte), wie das leicht hinzubekommen wäre.
Grüße, Matthias

PS: Wichtig: ich will keine Applikation auf dem Server laufen haben, die den Rechner automatisch runterfährt!!! Ich will den Server manuell von der Box (über die blaue Taste) runterfahren.
Zwen
Developer
Beiträge: 867
Registriert: Mittwoch 14. August 2002, 19:50

Beitrag von Zwen »

telnet kannst du über stdin keine befehle geben. Der geht direkt auf dein TTY.
Da musst du schon ssh oder rsh/rlogin für nehmen...

Zwen
ShadowMG
Neugieriger
Neugieriger
Beiträge: 18
Registriert: Freitag 16. Januar 2004, 20:08

Beitrag von ShadowMG »

Ok, sehe ich ein!

Aber ssh ist standardmäßig ja wohl nicht auf der Box...
Gibt es eine einfache Möglichkeit, ssh auf der Box zum Laufen zu bringen??

Das mit dem CVS blicke ich nicht ganz, und das scheint auch echt net ganz einfach. Sollte es anders gehen, dann freue ich mich!! Garantiert :D

Danke schonmal für die Antwort... habe mich echt gewundert, was da abgeht...

Grüß, Matthias
thegoodguy
Erleuchteter
Erleuchteter
Beiträge: 465
Registriert: Mittwoch 14. August 2002, 20:45

Beitrag von thegoodguy »

Also ich haette da schon eine simple Moeglichkeit:
Du kannst z.B. auf dem Linuxrechner den inetd-Daemon laufen lassen und in die /etc/inetd.conf (danach inetd neu starten!) eine zusaetzliche Zeile eintragen (vgl. auch man pages):

Code: Alles auswählen

fax stream tcp nowait root /tmp/my
(fax ist nur ein Beispiel, am besten definierst was neues in /etc/services).
/tmp/my ist dann der Name des Programmes, welches ausgefuehrt wird, sobald jemand versucht auf dem Port zu connecten.
Auf der Box dann

Code: Alles auswählen

wget http://192.168.0.1:4557
und schon wird auf dem Rechner (mit IP 192.168.0.1) das Programm ausgefuehrt.
Mit Hilfe von Firewall Einstellungen laesst sich dann auch noch verhindern, das ungebetene Rechner Zugriff auf den Port haben und fertig isses (naja, evtl. kann jeder mit shell-access auf den Rechner diesen runterfahren, aber das sind Details).
(Yeah, yeah I know it's a hack, but who cares :wink: )
Zwen
Developer
Beiträge: 867
Registriert: Mittwoch 14. August 2002, 19:50

Beitrag von Zwen »

Mit aktuellen Image kannste ssh vergessen....
Problem: Um Platz zu sparen werden im Image aus den standard libraries alle nicht benötigten Symbole entfernt.
Deswegen müssen ssh und rsh statisch gelinkt werden, wenn sie im aktuellen Image laufen sollen.

ssh wird da knapp 2MB groß, das bekommste nicht unter...
rsh hab ich mal statisch gebaut sind auch immerhin knapp 450 kbyte geht aber noch knapp in /var.

Kannst dir unter http://www.zwen.de/files/rsh.zip downloaden
Dann auf server konfigurieren, muss man sicher irgendwo einstellen, dass auch root .rhosts benutzen darf...

und dann halt
rsh <serverip> shutdown -h now

Zwen
ShadowMG
Neugieriger
Neugieriger
Beiträge: 18
Registriert: Freitag 16. Januar 2004, 20:08

Beitrag von ShadowMG »

Danke schonmal.... da mit dem wget hat schonmal funktioniert...
rsh werde ich a uch noch ausprobieren!

Bin noch am basteln wegen den Plugin, dass das über die blaue Taste läuft, aber das sollte man ja hinbekommen!!!

Grüße, Matthias
thegoodguy
Erleuchteter
Erleuchteter
Beiträge: 465
Registriert: Mittwoch 14. August 2002, 20:45

Beitrag von thegoodguy »

Also wenn du das binary auf den server legst und dann in deinem skript auf der dbox2 das entsprechende verzeichnis z.B. per NFS mountest und erst danach das binary aufrufst, dann sollte die Flashgroesse nicht das begrenzende Element sein - i.e. dann sollte auch ssh gehen.
danny12
Neugieriger
Neugieriger
Beiträge: 9
Registriert: Dienstag 28. Januar 2003, 14:19

Beitrag von danny12 »

@ zwen: Bekomme mit der rsh-Binary in aktuellem yadi-Image segmentation faults. Kannst Du mal bei Gelegenheit eine aktuelle rsh-Binary zur Verfügung stellen. Oder kann man diese selber compilen aus dem cvs.
en-total
Einsteiger
Einsteiger
Beiträge: 372
Registriert: Donnerstag 18. Dezember 2003, 18:45

Beitrag von en-total »

Ich hätte da noch einen anderen - simplere Vorschlag:
Fragt doch auf dem Server einfach in regelmäßigen Abständen per cronjob ab, ob eine Datei "/mnt/blabla/xyz" existiert. wenn ja, Datei löschen und Server runterfahren.
Diese Datei kann man ja simpel per Plugin auf dem Server in einem gemounteten Directory ablegen. Und wenn der Cron so ca. alle 15 Minuten nachschaut, tut dies auch der CPU Last nicht weh.
arstra
Beiträge: 2
Registriert: Mittwoch 2. Juni 2004, 14:05

Beitrag von arstra »

Hi@all

ich habe mir die Datei "rsh" von dem Link weiter oben gedownloadet und versuche schon seit Stunden das rsh auf der Box zum laufen zu bringen. :-?
Ich bekomme das nicht auf den Schirm...

Wohin muß ich das File kopieren ?
Ist eine Berechtigung z.B. Chmod 777 wichtig ?
wie führe ich es aus ?

thx
arstra
danny12
Neugieriger
Neugieriger
Beiträge: 9
Registriert: Dienstag 28. Januar 2003, 14:19

Beitrag von danny12 »

@ en-total: wie müsste denn die crontab aussehen. Bin leider mit Linux noch nicht so vertraut. Benutze XP Pro mit SFU 2.5.
Ryker
Image-Team
Beiträge: 554
Registriert: Montag 2. Juni 2003, 10:38

Beitrag von Ryker »

en-total hat geschrieben:...ob eine Datei "/mnt/blabla/xyz" existiert. wenn ja, Datei löschen und Server runterfahren....
Dann sollte man aber nicht vergessen in der boot.local mit einem "touch dateiname" die Datei beim Booten wieder anzulegen, damit der Rechner nicht nach 15Min gleich wieder einen Shutdown macht.


Ryker
D-Box2 (Nokia; Kabel; 2xINTEL; AVIA500) - aktuelles JtG-Image
rasc
Senior Member
Beiträge: 5071
Registriert: Dienstag 18. September 2001, 00:00

Beitrag von rasc »

danny12 hat geschrieben:@ en-total: wie müsste denn die crontab aussehen. Bin leider mit Linux noch nicht so vertraut. Benutze XP Pro mit SFU 2.5.

die Cronjobs sind die Scheduling-Jobs bei NT, nur halt nicht so GUI-kompliziert. Pruefe alle Minute ueber eine cmd-Datei in Windows, ob
eine Datei in einem Share liegt und wenn ja, lösche die Datei und fahre die Kiste ueber DOS-Kommandos runter.


BTW:
SFU macht noch lange kein Unix auf Windows.
Frueher nannte man sowas Potjemkinsche Dörfer oder so ähnlich...
Aber es ist besser als garnix...
en-total
Einsteiger
Einsteiger
Beiträge: 372
Registriert: Donnerstag 18. Dezember 2003, 18:45

Beitrag von en-total »

Ryker hat geschrieben:
en-total hat geschrieben:...ob eine Datei "/mnt/blabla/xyz" existiert. wenn ja, Datei löschen und Server runterfahren....
Dann sollte man aber nicht vergessen in der boot.local mit einem "touch dateiname" die Datei beim Booten wieder anzulegen, damit der Rechner nicht nach 15Min gleich wieder einen Shutdown macht.


Ryker
:o

Ich schrieb: "Wenn ja, Datei löschen und Server runterfahren. "
Sprich: Erst die Datei löschen, alles klar? :D
Naja, bash ist hier offensichtlich nicht jedermanns Sache :P
HEAD
Einsteiger
Einsteiger
Beiträge: 313
Registriert: Freitag 14. Februar 2003, 15:59

Beitrag von HEAD »

Das ganze kann man auch bei neutrino-sleeptimer machen , damit man dannach auch schlaffem kann . ;)
onkelfu
Interessierter
Interessierter
Beiträge: 34
Registriert: Donnerstag 13. Mai 2004, 10:17

Beitrag von onkelfu »

Hallo zusammen!

Wäre es nicht auch möglich, dass die dbox nach einer aufnahme einfach irgendwie den rechner wieder herunterfährt? schließlich hat sie ihn ja (bei mir) auch mit nem wol geweckt :D man könnte die option ja vielleicht mit ins aufnahme menü aufnehmen...
Da ich mit udrec aufnehme, könnte ich mir auch vorstellen, dass udrec nach ner aufnahme den rechner wieder herunterfährt oder in den standby zurück versetzt. wäre das vielleicht ehr möglich und wenn ja wie?


gruß

onkelfu
Serge
Neugieriger
Neugieriger
Beiträge: 7
Registriert: Sonntag 20. Juni 2004, 13:56

Beitrag von Serge »

Hallo onkelfu,

Hab das mal so kurz überflogen.
Hab so eine Idee: Du kannst mal nach der Auslastung abfragen. Wenn der Rechner paar Minuten im Idle-Mode ist, kann man den Rechner runterfahren.
Das ist sicherer, denn man zerschießt dadurch nicht andere Prozesse.
deutschgesagt: Leerlaufprozess beobachten, wenn 99% dann runterfahren.

Ich hoffe, ich hab das Thema nicht verfehlt :wink:

Viele Grüsse
Sergej
Zuletzt geändert von Serge am Montag 21. Juni 2004, 17:38, insgesamt 1-mal geändert.
onkelfu
Interessierter
Interessierter
Beiträge: 34
Registriert: Donnerstag 13. Mai 2004, 10:17

Beitrag von onkelfu »

Hi serge,

das geht schon so in die richtige Richtung. Nur bin ich nicht gerade das, was man einen Programmierer nennt, also kann ich das leider auch nicht umsetzen. Aber vielleicht gibt es ja jemanden, der sowas kann...denn vom der Theorie her sollte das ja ganz gut funktionieren...


Danke für den Tipp


onkelfu (der jetzt nach jemanden sucht, der sich dieser Programmier-Aufgabe widmen möchte) *gg*
Serge
Neugieriger
Neugieriger
Beiträge: 7
Registriert: Sonntag 20. Juni 2004, 13:56

Beitrag von Serge »

Nun onkelfu,

jetzt muss du nur verraten was du für ein OS (Operation System) hast,
dann melden sich vielleicht einige :wink:

Gruß Sergej
onkelfu
Interessierter
Interessierter
Beiträge: 34
Registriert: Donnerstag 13. Mai 2004, 10:17

Beitrag von onkelfu »

Danke serge, hätte ich doch fast vergessen. Ich arbeite mit Windows Server 2003, aber mit XP würde es sicherlich genauso funktionieren.


onkelfu :)
tha_haze
Einsteiger
Einsteiger
Beiträge: 249
Registriert: Samstag 8. Mai 2004, 20:14

Beitrag von tha_haze »

Zwen hat geschrieben:ssh wird da knapp 2MB groß, das bekommste nicht unter...
dann könnte man es halt auf ein nfs-share des servers legen
freibier
Neugieriger
Neugieriger
Beiträge: 3
Registriert: Sonntag 23. Januar 2005, 15:41

Beitrag von freibier »

hi,

also ich habe die Methode von thegoodguy (Shutdown linux streaming PC mit wget) mal ausprobiert und habe dabei ein kleines Problem: Wenn ich mich über telnet in die Dbox einlogge und dort dann das script zum Herunterfahren ausführe, funktioniert alles wunderbar.

Will ich das script aber über des Neutrino Menü oder auch mit dem Tuxboxcommander starten, passiert gar nix.

Hat jemand eine Idee, woran das liegen könnte?
DrStoned
Tuxboxer
Tuxboxer
Beiträge: 2614
Registriert: Montag 20. Mai 2002, 10:49
Image: JTG-Image [IDE] Version 2.4.4
Image: (7025SS) Merlin

Beitrag von DrStoned »

Probier mal das script so zu gestalten:

Code: Alles auswählen

#!/bin/sh
wget -O /dev/null http://192.168.0.1:4557
exit 1
Greetz von DrStoned :lol: :lol: :lol:
Greetz von DrStoned :lol: :lol: :lol:
freibier
Neugieriger
Neugieriger
Beiträge: 3
Registriert: Sonntag 23. Januar 2005, 15:41

Beitrag von freibier »

funktioniert perfekt !!

Danke für die schnelle Hilfe