PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Suche Programm zum ferngesteuerten Herunterfahren



dingeling
20.10.05, 10:59
Hi,

vieleicht kennt einer von euch ein Programm, mit dem man Linuxrechner von einem zentralen Punkt von Windows aus herunterfahren kann.

Folgende Situation: Hier stehen ca. 80 öffentlich zugängliche Rechner rum (Suse 10). Diese Rechner müssen zu unterschiedlichen Zeiten heruntergefahren werden.
Momentan wird das noch von "Hand" gemacht, also jemand muss rumlaufen und die PCs ausschalten.
Per Cronjob ist es wegen unterschiedlichen Ausschaltzeiten nicht möglich.
Per SSH ist zwar möglich, aber für 80 Rechner doch sehr umständlich.

Es bräuchte evtl. eine grafische Oberfläche wo die Rechner, die heruntergefahren werden sollen, mit Mausklick ausgewählt werden können. (Kann natürlich auch ganz anders sein)

Wenn jemand eine Idee hat raus damit :)

marce
20.10.05, 11:21
na, dann halt einfach 'ne Weboberfläche, die das Script dann per ssh anstösst?

dingeling
20.10.05, 12:20
Daran hab ich auch schon gedacht, gibts sowas schon?
Das Rad muss ja nicht jedes mal neu erfunden werden.

[CCCB]m0p
20.10.05, 13:39
warum sollte ein cronjob nicht gehen?
installierst du auf dem rechner einen cronjob der den PC dann zu einer bestimmten Zeit herunterfährt... das machst du auf allen und gut ist?



// da war ich wohl zu schnell und habe die erste zeile nicht gelesen :P


wenn du dir 2-3(kommt halt auf die unterschiedlichen zeiten an) croneinträge (auf dem zentralrechner)erstellst, die dann jeweils zur zeit den gewünschten teil der pcs herunterfährt?

dafür dann vlt ein shellscript was mit expect zusammen sich über ssh einloggt und shutdown -h now sendet?

gekoppelt mit einer for/while schleife kannst du dann bestimmte IP-Ranges herunterfahren



Beispiel:
Cronjobs:

0 20 * * * /Scripts/Shutdown20_00UHR
0 22 * * * /Scripts/Shutdown22_00UHR


/Scripts/Shutdown20_00UHR:

/Scripts/Shutdown 192.168.1.1
/Scripts/Shutdown 192.168.1.2
/Scripts/Shutdown 192.168.1.3
/Scripts/Shutdown 192.168.1.4
/Scripts/Shutdown 192.168.1.5


/Scripts/Shutdown:

#! /usr/bin/expect
spawn ssh $1 -l root
expect Password:
send ROOT_PASSWORT\r
send shutdown -h now\r
exit

marce
20.10.05, 13:42
Per Cronjob ist es wegen unterschiedlichen Ausschaltzeiten nicht möglich.

... Möglichkeit wäre aber evtl. dann, die Anzahl der angemeldeten User abzufragen und z.B. wenn die gleich 0 und z.B. nach 18 Uhr - dann runterfahren...

dingeling
20.10.05, 14:05
Also zwei Lösungsansätze hab ich bereits.
1. Einen User shutdown anlegen, als Loginshell /sbin/halt geben und mit sudo die nötigen Rechte.
Hab ich grad probiert, geht einwandfrei.

2. Ein Script, das den Rechner per xinetd herunterfährt. Ich schicke also auf einem Port eine Anfrage an den Rechner, das Script wird ausgeführt und fährt herunter.
Allerdings fehlt mir hier die Authentifizierung....und auch sonst wüsst ich jetzt nicht auf Anhieb wie das zu lösen ist.

Wie gesagt, ich bin offen für alles :p

Huhn Hur Tu
20.10.05, 14:05
Bastel dir ein script lass es ab bestimmter Userzahl (0) oder Zeit den shutdown verursacht. Das geht per cron.

dingeling
20.10.05, 14:07
... Möglichkeit wäre aber evtl. dann, die Anzahl der angemeldeten User abzufragen und z.B. wenn die gleich 0 und z.B. nach 18 Uhr - dann runterfahren...

Sowas läuft bereits - nach einer bestimmten Zeit der inaktivität schaltet der Rechner aus.
Das Problem dabei ist aber, das er immer dann herunterfährt wenn man ihn gerade benutzen will:ugly:

Bastel dir ein script lass es ab bestimmter Userzahl (0) oder Zeit den shutdown verursacht. Das geht per cron.

Es ist aber immer ein Benutzer angemeldet. Das ganze befindet sich im KDE-Kioskmode. Also leider auch keine Möglichkeit

heatwalker
20.10.05, 15:51
Warum nicht per SSH???

Für Windoof gibt es auch openSSH binaries.
Du legst Dir einen Ordner an indem du die einzelnen Batchscripte ablegst und
kannst "GUI"-Gesteuert :) die Rechner runterfahren.

Du müsstest erstmal auf jedem Rechner eine ssh-Authenfikation mit Passphrase ohne Passwort einrichten und dann reicht doch ein
"ssh -T host@xxx.de poweroff"

z.B. Verknüpfung auf Windowsebene:

C:\WINNT\system32\CMD.EXE /k ssh -l root -i d:\.ssh\id_rsa -T hostX10 poweroff

dingeling
20.10.05, 16:43
So werd ichs auch machen.
Ich werd wie oben einen Benutzer shutdown anlegen, der als Loginshell /sbin/halt bekommt.
Unter Windows mach ich dann ein VB-Script, das mir aus einem HTML-Formular, das ich dann schön bebildern und gestalten kann, Werte ausliest.
Diese Werte sind dann Rechner.

Das ganze wird ausgewertet und per Schleife wird dann je nach dem was im Forular ausgewählt wurde einer, mehrere oder alle Rechner per ssh ausgeschaltet.

Ich denke so könnte das hinhauen :)
Viel mehr kann ich Programiertechnisch auf die schnelle eh nicht lösen...