anderen Linux-PC autom. ausschalten

F

flugopa

Hallo,

zum testen habe ich meistens 2 PCs mit Linux am "laufen".
Irgendwann gehe auch ich mal schlafen und möchte den zweiten PC nicht einfach über den Steckdosenschalter ausschalten.
Ein einfacher Gedankengang: jede Minute ein Ping senden und bei negativer Antwort
"halt -p"?

Wie würdet Ihr den zweiten PC autom. ausschalten?
 
Ein noch einfacherer Gedankengang: shutdown akzeptiert als Parameter die Angabe der Zeit in verschiedenen Formen.
Code:
shutdown -h 02:30

und jede Nacht um 02:30 Uhr würde sich dein Rechner ausschalten. Da geht noch viel mehr - Infos siehe 'man shutdown'. :)
 
Zuletzt bearbeitet:
Hallo,

zum testen habe ich meistens 2 PCs mit Linux am "laufen".
Irgendwann gehe auch ich mal schlafen und möchte den zweiten PC nicht einfach über den Steckdosenschalter ausschalten.
Ein einfacher Gedankengang: jede Minute ein Ping senden und bei negativer Antwort
"halt -p"?

Wie würdet Ihr den zweiten PC autom. ausschalten?

via ssh:

Code:
{-alex-|-asterix-} => [~]
(07:50:31) grep down .bashrc 
alias sdown='ssh home sudo shutdown -h now'
alias adown='sdown; sudo shutdown -h now'

/Edit: [ot] Des ist jetzt heute nicht der erste Post, den ich les, und der solche Antwortzeiten hat... Was sollen eigentlich die ganzen Posts um 2, 3, 4, 5 Uhr?? Hat der StandardUB-ler Nachts nix besseres zu tun?? :P [ot]
 
Zuletzt bearbeitet:
Ich habe es derzeit so gelöst:

- zweiter PC sendet jede Minute ein Ping an den ersten PC.
- wenn Antwort negativ dann halt -p

Code:
# crontab -l auf zweiten PC
*/1 * * * * ping -c1 pc1 || halt -p

Wie würde das gleiche Ergebnis mit snmp-Abfrage "aussehen?"
 
Warum schreibst du nicht einfach ein kleines init-Script das per SSH den zweiten PC herunterfährt, wenn der erste heruntergefahren wird? Andauernd pings zu senden ist ja nicht gerade schön...
 
Warum schreibst du nicht einfach ein kleines init-Script das per SSH den zweiten PC herunterfährt, wenn der erste heruntergefahren wird? Andauernd pings zu senden ist ja nicht gerade schön...

Deine Lösung hört sich besser an!!! Lösung:
Code:
ssh root@zweiter-PC "halt -p"
(id_pub.rsa von erster-PC bereits auf zweiten-PC kopiert)
Jetzt muss ich mir noch ein Service auf ersten-PC zusammenschrauben der bei init 0
ausgeführt wird, weil ich das Script nicht selber aufrufen will.
 
Ein noch einfacherer Gedankengang: shutdown akzeptiert als Parameter die Angabe der Zeit in verschiedenen Formen.
Code:
shutdown -h 02:30

und jede Nacht um 02:30 Uhr würde sich dein Rechner ausschalten. Da geht noch viel mehr - Infos siehe 'man shutdown'. :)

Und danach ist das Terminal unbenutzbar (Debian 4) :(
 
Und danach ist das Terminal unbenutzbar (Debian 4) :(

Vielen Dank an alle die mir helfen.

Nochmal zur Erinnerung: Es gibt 2 PC, wobei sich der Zweite PC immer AUTOMATISCH ausschalten soll, wenn der erste PC "down geht". Beide PCs sind vernetzt.

Eine Möglichkeit, die mir gerade einfällt: PC1 sendet ein SNMP-TRAP (UDP 162) nach PC2.
Wer kennt sich mit SNMP(V3) aus, um den Gedankengang zu realisieren?
 
läuft auf PC2 zufällig ein Apache mit PHP?

Dann wärs einfach:
Du richtest dann eine PHP-Seite ein, die per system() und sudo den PC herunter fährt (sudoers muss bearbeitet werden).
Und bei PC1 setzt du in rc.shutdown ein script rein, dass per wget das besagte PHP-Script auf PC2 ausführt.
 
alsoo,
schreib ein Script, welches bei Aktivierung eine SSH-Verbindung zu PC2 aufbaut und ihn dann runterfährt.
dann definierst du Aliase für halt/shutdown (PC1), damit sie neben dem herunterfahren auch noch das Script ausführen.

ciao


//edit:
ahh... daboss hat scheinbar das selbe gemeint.
 
läuft auf PC2 zufällig ein Apache mit PHP?

Dann wärs einfach:
Du richtest dann eine PHP-Seite ein, die per system() und sudo den PC herunter fährt (sudoers muss bearbeitet werden).
Und bei PC1 setzt du in rc.shutdown ein script rein, dass per wget das besagte PHP-Script auf PC2 ausführt.

Deine Antwort entspricht zwar nicht ganz dem ursprünglichen Ziel, aber ich lerne gern neue Sachen dazu.

Code:
# rpm -qa php httpd
httpd-2.2.3-22.el5.centos
php-5.1.6-23.2.el5_3

Apache hat derzeit nur die Aufgabe statische Webseiten anzuzeigen.
(/etc/httpd/conf/httpd.conf = noch alles Standart = default)
Sudoers verwende ich auch. (anlegen eines users der halt -p ausführen darf)

PHP-Script auf PC2 .... Wie sollte das aussehen?
Hast Du ein fertiges Script?

PHP lernen kommt nach MySQL, wenn ich die anderen Baustellen erledigt habe.
.
.
.
EDIT (autom. Beitragszusammenführung) :
.

alsoo,
schreib ein Script, welches bei Aktivierung eine SSH-Verbindung zu PC2 aufbaut und ihn dann runterfährt.
dann definierst du Aliase für halt/shutdown (PC1), damit sie neben dem herunterfahren auch noch das Script ausführen.

Dein Vorschlag wurde bereits von Mike1 aufgezeigt und umgesetzt.
Trotzdem Danke für Deine Mühe.

ciao
 
Zuletzt bearbeitet von einem Moderator:
Das wäre in php dieser Einzeiler:
Code:
<?php system("halt -p"); ?>
 
@juan_:
Klappt das denn von den Rechten her?
Nur root kann doch den PC herunterfahren, oder hab ich da was falsch verstanden?

Ich würde es so machen:
PHP:
<?php system("sudo shutdown -h -t now"); ?>
Und in die Sudoers dann so eine Zeile:
Code:
www-data        ALL= (root) NOPASSWD: shutdown
Wobei ich mir mit der Zeile in der Sudoers nicht sicher bin. Hab das shutdown-Script nicht gefunden. ?(
 
naja, warum dem Script nicht einfach die nötigen Rechte geben?!
 
Und wie?
Ein Script läuft doch immer unter einem User?
Und darf nur das, was der User auch darf, oder etwa nicht?
 
Jep, wenndann musst du dem Benutzer, unter dem Apache läuft, die Rechte geben. Dem Script selber ist's wurscht, welche Rechte es hat.
 

Ähnliche Themen

günstiger Mehr-Kerner (CPU) für VMs

Keine grafische Oberfläche (Debian Installation)

Welches Linux/Unix für ehemaligen OSX Nutzer?

Closed Source Audio-Software auf Linux portieren -> Installationspack & gen. Nutzen

Prüfe Internet Verbindung über VPN - wenn nicht = wechsle VPN-Server

Zurück
Oben