LINUX Server von D-BOX auf ruterfahren
LINUX Server von D-BOX auf ruterfahren
So nun hab ich auch nen Filerserver. Da ich allerdings nicht so extrem häufig aufnehme möchte ich ihn gerne bei längerer nichtbenutzung ausschalten. Den Stom für den Rechner vom Wohnzimmer aus auszuschalten ist kein Problem. Aber um ihn Runterzufahren jedesmal meinen Arbeits PC hochzufahren ist einwenig aufwendig.
Von der D-BOX per Telnet auf den Server einloggen und HALT eingeben geht wunderbar, aber wie kann man das in ein Script packen das man per Featuremenü aktiviert?
Ich habe probiert die Tastatureingaben per umleitung zum Telnet befehl umzuleiten (so wie ich es von Windows aus kenne). Aber sowas scheint unter LINUX nicht zu funktionieren.
Also eine Textdatei namens cmd.txt mit dem Inhalt:
----
<USER>
<USERPASSWORT>
su
<ROOTPASSWORT>
halt
----
(wobei <xxx> natürlich bei mir der Reale Text waren.)
dann telnet 192.168.0.20 < cmd.txt
allerdings beendet sich dann telnet sofort und nixchts passiert. Ich sehe auch keine ausgabe auf der Konsole.
Hat jeman von den LINUX Profies hier ein Tipp für mich?
cu
usul
Von der D-BOX per Telnet auf den Server einloggen und HALT eingeben geht wunderbar, aber wie kann man das in ein Script packen das man per Featuremenü aktiviert?
Ich habe probiert die Tastatureingaben per umleitung zum Telnet befehl umzuleiten (so wie ich es von Windows aus kenne). Aber sowas scheint unter LINUX nicht zu funktionieren.
Also eine Textdatei namens cmd.txt mit dem Inhalt:
----
<USER>
<USERPASSWORT>
su
<ROOTPASSWORT>
halt
----
(wobei <xxx> natürlich bei mir der Reale Text waren.)
dann telnet 192.168.0.20 < cmd.txt
allerdings beendet sich dann telnet sofort und nixchts passiert. Ich sehe auch keine ausgabe auf der Konsole.
Hat jeman von den LINUX Profies hier ein Tipp für mich?
cu
usul
-
- Einsteiger
- Beiträge: 131
- Registriert: Dienstag 6. April 2004, 12:08
Re: LINUX Server von D-BOX auf ruterfahren
netcat (alias nc) dürfte dein Freund werden! Ist nur leider in aktuellen Images nicht enthalten. Ich kann dir aber auch bei bedarf eine busybox mit nc zukommen lassen!?usul hat geschrieben:[...]
Ich habe probiert die Tastatureingaben per umleitung zum Telnet befehl umzuleiten (so wie ich es von Windows aus kenne). Aber sowas scheint unter LINUX nicht zu funktionieren.
Also eine Textdatei namens cmd.txt mit dem Inhalt:
----
<USER>
<USERPASSWORT>
su
<ROOTPASSWORT>
halt
----
(wobei <xxx> natürlich bei mir der Reale Text waren.)
dann telnet 192.168.0.20 < cmd.txt
allerdings beendet sich dann telnet sofort und nixchts passiert. Ich sehe auch keine ausgabe auf der Konsole.
das ganze sieht dann so aus:
Code: Alles auswählen
{ echo "user"; echo "passwort"; echo "befehl"; echo "quit"; } | nc serverip port
Code: Alles auswählen
cat datei | nc serverip port
Gruß
tetzlav
Re: LINUX Server von D-BOX auf ruterfahren
Das wäre klasse. Ich schick die meine email adresse per pm.tetzlav hat geschrieben: netcat (alias nc) dürfte dein Freund werden! Ist nur leider in aktuellen Images nicht enthalten. Ich kann dir aber auch bei bedarf eine busybox mit nc zukommen lassen!?
Wobei port der Telnet port ist, oder?tetzlav hat geschrieben: das ganze sieht dann so aus:bzw.Code: Alles auswählen
{ echo "user"; echo "passwort"; echo "befehl"; echo "quit"; } | nc serverip port
Code: Alles auswählen
cat datei | nc serverip port
sicher doch, besten Dank auchtetzlav hat geschrieben: hoffe geholfen zu haben...
usul
@tetzlav: Danke für die busybox
Leider scheint es nicht zu helfen. Es sieht so aus als ob die Kommandos gesendet werden bevor der Zielrechner sie lesen will.
Als Ergebnis passiert beim Zielrechner nix, es komman an der Konsole keine Antworten und ich lande auf irgendeiner Kommandozeile.
auch ein Test (als shellscipt) mit:
telnet <ip> << EOL
<befehl1>
<befehl2>
<...>
EOL
klappt nicht.
kann man den Server irgendwie so konfigurieren das man ihn ohne ihn herrunterzufahren ausschalten kann ohne das man beim nächsten Start mit Monitor und Tasatur zu Rechner latschen muß um das Dataisystem zu reparieren :-( ?
cu
usul
Leider scheint es nicht zu helfen. Es sieht so aus als ob die Kommandos gesendet werden bevor der Zielrechner sie lesen will.
Als Ergebnis passiert beim Zielrechner nix, es komman an der Konsole keine Antworten und ich lande auf irgendeiner Kommandozeile.
auch ein Test (als shellscipt) mit:
telnet <ip> << EOL
<befehl1>
<befehl2>
<...>
EOL
klappt nicht.
kann man den Server irgendwie so konfigurieren das man ihn ohne ihn herrunterzufahren ausschalten kann ohne das man beim nächsten Start mit Monitor und Tasatur zu Rechner latschen muß um das Dataisystem zu reparieren :-( ?
cu
usul
-
- Einsteiger
- Beiträge: 131
- Registriert: Dienstag 6. April 2004, 12:08
kannst ja noch ein sleep 1 zwichen den einzelnen Befehlen und der Anmeldung einbauen, damit der Server etwas mehr Zeit hat. ich kanns leider nicht ausbrobieren, bin im Moment nicht zu Hause...usul hat geschrieben:[...]Leider scheint es nicht zu helfen. Es sieht so aus als ob die Kommandos gesendet werden bevor der Zielrechner sie lesen will.
hm, deßhalb hat man ja doch das "Runterfahren" erfundenusul hat geschrieben:kann man den Server irgendwie so konfigurieren das man ihn ohne ihn herrunterzufahren ausschalten kann ohne das man beim nächsten Start mit Monitor und Tasatur zu Rechner latschen muß um das Dataisystem zu reparieren ?
nee, aber mal im ernst; es gab da noch nen Lösungsansatz mit einer Dummy-Datei auf der Freigabe des Servers, wo der Server in gewissen Abstanden überprüft ob die Datei noch vorhanden ist und wenn nicht sich dann runterfährt, da heißt du kannst mit einem Script diese Datei in /mnt/irgendwas löschen und der Server fährt runter. Finde Momentan leider diesen Threat nicht mehr!?
Gruß
tetzlav
Das geht glaube ich irgendwie nicht.tetzlav hat geschrieben:kannst ja noch ein sleep 1 zwichen den einzelnen Befehlen und der Anmeldung einbauen, damit der Server etwas mehr Zeit hat. ich kanns leider nicht ausbrobieren, bin im Moment nicht zu Hause...usul hat geschrieben:[...]Leider scheint es nicht zu helfen. Es sieht so aus als ob die Kommandos gesendet werden bevor der Zielrechner sie lesen will.
tetzlav hat geschrieben: nee, aber mal im ernst; es gab da noch nen Lösungsansatz mit einer Dummy-Datei auf der Freigabe des Servers, wo der Server in gewissen Abstanden überprüft ob die Datei noch vorhanden ist und wenn nicht sich dann runterfährt, da heißt du kannst mit einem Script diese Datei in /mnt/irgendwas löschen und der Server fährt runter. Finde Momentan leider diesen Threat nicht mehr!?
Gib es unter LINUX dann den "Hallo Kernel, wenn diese Datei verschwinted ruf mich auf" Befehl (Da ich es von Windows kenne wird es das in LINUX wahrscheinlich nicht geben ;-) oder muß das ein Spript in ner Dauerschleife Pollen?
cu
us`irgendwie ist mar das alles sehr suspekt`ul
-
- Einsteiger
- Beiträge: 249
- Registriert: Samstag 8. Mai 2004, 20:14
um zu überprüfen ob eine datei noch existiert kannst du folgenden code in ein shell-script schreiben
und dieses shellscript anschließend per cron jede minute aufrufen lassen
----edit----
mein konzept basiert darauf, dass ich per plugin auf der box ein script aufrufe, welches mir eine datei namens .shutdownnow im gemountetem verz. anlegt. der server fährt dann entsprechend runter wenn diese datei existiert. demnach ist das obige script auch auf dieses ziel hin ausgerichtet, d.h. der server fährt runter sobald diese datei angelegt ist, und nicht sobald eine datei verschwindet (hab ich erst nachher bemerkt, das es andersrum gemeint war)
Code: Alles auswählen
rm /dbox/.shutdownnow 2>/dev/null
if [ $? -eq 0 ]
then
wget -q http://dboxip/control/message?popup=Server%20Shutdown!
shutdown
fi
----edit----
mein konzept basiert darauf, dass ich per plugin auf der box ein script aufrufe, welches mir eine datei namens .shutdownnow im gemountetem verz. anlegt. der server fährt dann entsprechend runter wenn diese datei existiert. demnach ist das obige script auch auf dieses ziel hin ausgerichtet, d.h. der server fährt runter sobald diese datei angelegt ist, und nicht sobald eine datei verschwindet (hab ich erst nachher bemerkt, das es andersrum gemeint war)
Zuletzt geändert von tha_haze am Mittwoch 21. Juli 2004, 21:27, insgesamt 1-mal geändert.
-
- Einsteiger
- Beiträge: 131
- Registriert: Dienstag 6. April 2004, 12:08
...also ich kann meine Box mit einemusul hat geschrieben:Das geht glaube ich irgendwie nicht.
Code: Alles auswählen
{ echo "root"; sleep 1; echo "dbox2"; sleep 1; echo "reboot"; } | nc 192.168.2.5 23
ein Cronjob könnte das übernehmen! aber such dir einfach mal diesen Threat - er betrat auf jeden Fall genau dein Problem!usul hat geschrieben:Gib es unter LINUX dann den "Hallo Kernel, wenn diese Datei verschwinted ruf mich auf" Befehl (Da ich es von Windows kenne wird es das in LINUX wahrscheinlich nicht geben ;-) oder muß das ein Spript in ner Dauerschleife Pollen?
Gruß
tetzlav
Tja, ich nicht. Un irgendwie kommen da auch keine Fehlermeldungen. Na was solls denn...tetzlav hat geschrieben:...also ich kann meine Box mit einemusul hat geschrieben:Das geht glaube ich irgendwie nicht.zum Neustart bewegen. Mein Server spricht leider kein telnet.Code: Alles auswählen
{ echo "root"; sleep 1; echo "dbox2"; sleep 1; echo "reboot"; } | nc 192.168.2.5 23
... jetzt mache ich es mit dem Cronjob, auch wenn es wehtut.tetzlav hat geschrieben: ein Cronjob könnte das übernehmen! aber such dir einfach mal diesen Threat - er betrat auf jeden Fall genau dein Problem!
Was mir noch einfiel: Mann könnte ja auch nen webserver auf dem Server starten und dann bei aufruf einer URL per cgi den Server runterfahren.
Aber das tue ich mir mit meinen beschränkten LINUX erfahrunen noch nicht an.
Mit besten dank an tetzlav und tha_haze
cu
usul
-
- Einsteiger
- Beiträge: 131
- Registriert: Dienstag 6. April 2004, 12:08
die sleep-Zeiten etwas zu variieren hast du sicherlich schon probiert!?usul hat geschrieben:Tja, ich nicht. Un irgendwie kommen da auch keine Fehlermeldungen. Na was solls denn...tetzlav hat geschrieben:...also ich kann meine Box mit einemzum Neustart bewegen.Code: Alles auswählen
{ echo "root"; sleep 1; echo "dbox2"; sleep 1; echo "reboot"; } | nc 192.168.2.5 23
"die perfekte Lösung" kommt sicherlich noch irgendwann - spätestens dann wenn du dich auf Linux etwas mehr zu Hause fühlst und du dich von der unschlagbaren Genialität eines Linux-Betriebssystem überzeugt hast!usul hat geschrieben:Was mir noch einfiel: Mann könnte ja auch nen webserver auf dem Server starten und dann bei aufruf einer URL per cgi den Server runterfahren.
Aber das tue ich mir mit meinen beschränkten LINUX erfahrunen noch nicht an.
Ich bin auch ganz allmählich in die Linuxwelt geschlittert - aber ich möchte nicht mehr zurück! (vllt. noch zum MAC, aber die sind so verdammt SCHICK & TEUER! - so jetzt reichts aber mit OT-Gelabere!!! )
Gruß
tetzlav
-
- Interessierter
- Beiträge: 70
- Registriert: Donnerstag 1. April 2004, 16:52
also da kann ich tetzlav nur recht geben...
Netcat rockt gewaltig... damit kann man windows sowieso linux pcs probemlos runterfahren....
einfach netcat auf dem server als listenserver starten...
auf windows zumbeispiel so:
nc -l -L -d -p 23 -t -e cmd.exe
dann nur noch mit nc von der box drauf connecten und los gehts
thats it
liebe Grüße Xhor
Netcat rockt gewaltig... damit kann man windows sowieso linux pcs probemlos runterfahren....
einfach netcat auf dem server als listenserver starten...
auf windows zumbeispiel so:
nc -l -L -d -p 23 -t -e cmd.exe
dann nur noch mit nc von der box drauf connecten und los gehts
thats it
liebe Grüße Xhor
-
- Einsteiger
- Beiträge: 131
- Registriert: Dienstag 6. April 2004, 12:08