Ich schreibe ein Skript, das ein System über das Netzwerk antreibt. Und dann muss ich ein paar Befehle auf dem anderen Host ausführen. Woher weiß ich, ob das System eingeschaltet ist?
Meine Programmiersprache ist Perl und der Zielhost ist RHEL5.
Gibt es irgendwelche Kernel-Interrupts oder Netzwerk-Boot-Informationen, die anzeigen, dass das System eingeschaltet und das Betriebssystem geladen wurde?
[In einem anderen Szenario] habe ich mich auch gefragt, ob ich meine Maschine nur manuell einschalten soll. Wann wird genau gesagt, dass es eingeschaltet ist. und wann soll das Betriebssystem vollständig für eine netzwerkbezogene Operation wie das Ausführen eines Netzwerkbefehls dort gestartet worden sein. Was ist, wenn das System auf DHCP ist, wie würde ein entferntes System dann nach dieser Maschine suchen [ich denke, dass es über die MAC-Adresse möglich ist. aber wenn ich falsch liege].
Wenn ich irgendwelche Informationen verpasst habe, kannst du mich gerne fragen. Wenn Sie irgendwelche Vorschläge haben, um die Aufgabe zu erleichtern, bitte stellen Sie sie auf :)
danke imkin
Nun, ich würde sagen, dass das System gebootet wird, wenn es die Anfrage ausführen kann, die Sie daraus gemacht haben. Das heißt, der sshd-Daemon läuft. Das ist genug für Ihre Zwecke gebootet (ich nehme an - ersetzen Sie für welchen Dämon Sie wirklich brauchen).
Also würde ich das Einschaltsignal senden und alle 15-30 Sekunden überprüfen, ob ich eine Verbindung herstellen kann. Wenn ich keine Verbindung innerhalb einer angemessenen Zeit für diesen Computer hergestellt habe (2 Minuten oder 5 Minuten oder was auch immer), würde ich eine Warnung an das IT-Supportteam senden. Nun, ich würde es mir zuerst schicken, und erst nachdem ich ein paar Fehler untersucht und festgestellt habe, dass alle legitim sind, würde ich es direkt an IT senden.
DHCP ist eine andere Frage. Sie müssten anfangen, etwas über Broadcasting zu lernen oder einen Daemon auf diesem Rechner während des Hochfahrens "call home" zu haben, um seine aktuelle IP-Adresse zu registrieren. Und es müsste jedes Mal, wenn eine DHCP-Erneuerung seine IP-Adresse änderte, "zu Hause anrufen". Dies ist entschieden verworrener. Versuchen Sie, DHCP auf solchen Server-Rechnern möglichst zu vermeiden.
Ich denke, nach sshd zu suchen klingt nach einem guten Ansatz.
Was das DHCP-Problem angeht: Wenn sich der andere Computer im selben Subnetz befindet, können Sie ihn anhand der MAC-Adresse mit Net :: ARP .
Tags und Links perl operating-system boot uptime