Ich erhielt eine E-Mail von meinem Systemadministrator, dass ich mein System neu starten musste, um einige Patches anzuwenden. Ich hatte es vergessen und nach ein paar Stunden erhielt ich eine weitere E-Mail, die mir mitteilte, dass ich mein System noch nicht neu gestartet hatte.
Ich habe mein System seitdem neu gestartet, aber ich bin überrascht, woher sie wissen, ob ich meinen Computer neu gestartet habe oder nicht. Kann jemand erklären, wie das funktioniert?
monitoring
nikhil
quelle
quelle
Antworten:
Eine schnelle Möglichkeit, dies aus der Ferne zu überprüfen, bietet SNMP (vorausgesetzt, Ihr SysAdmin hat dies in Ihrem Netzwerk eingerichtet):
Höchstwahrscheinlich würden die Daten abgefragt und in einem Netzwerkverwaltungs- / Überwachungssystem (z. B. Nagios oder Cacti) gespeichert.
Falls jemand daran interessiert ist, mit dem
snmpwalk
Befehl herumzuspielen, lesen Sie die Antwort hier , um eine grundlegende SNMP-Konfiguration auf Ihrem System einzurichten.quelle
sudo hping3 -c 2 -p 80 --tcp-timestamp -S <IPaddress> 2>&1 | grep uptime
Eine einfache Methode besteht darin, die Ausgabe des
uptime
Befehls zu überprüfen , aus der hervorgeht, wie lange Sie das System ohne Herunterfahren / Neustarten ausgeführt haben.Beispielausgabe:
Es heißt, dass mein System 3 Stunden und 8 Minuten lang eingeschaltet war.
Der Administrator kann ein Shell-Skript einrichten, um eine der
uptime
in diesem Link beschriebenen Methoden zu verwenden oder eine andere Methode zu verwenden . Eine andere Methode, die der Administrator verwenden kann, besteht darin, eine E-Mail einzurichten, die beim Herunterfahren oder Neustart des Systems gesendet wird. Die Details finden Sie unter diesem Link .quelle
@ saji89 hat den
uptime
Befehl erwähnt. Ich gehe einen Schritt tiefer und setze einfach voraus, dass der Sysadmin irgendwo ein Skript hat, das eine Verbindung zu jedem Computer herstellt und eincat /proc/uptime
(oder etwas Äquivalentes) ausführt. Das erste Feld der Ausgabe ist die Zeit in Sekunden seit dem letzten Neustart des Systems, die viel einfacher zu analysieren ist als die Ausgabe vonuptime
. Zum Beispiel gibt mein Computer ein erstes Feld für die Verfügbarkeit1441218.24
bei deruptime
Rückkehr anup 16 days, 16:20
. 1441218 Sekunden sind 16 Tage plus 58818 Sekunden und 58818 Sekunden sind 16 1/3 Stunden. 16 Tage 16 1/3 Stunden.Wenn Sie die maximale Länge der Zeit kennen , da das System sollte neu gestartet wurde, machen diese Daten es trivial , um zu prüfen , ob das System seither oder nicht neu gestartet wurde.
Dies könnte durch ein Überwachungstool wie Nagios oder durch ein separates Skript geschehen, das der Systemadministrator auf seinem Computer führt (oder, wie ich mir vorstellen würde, über dieses Skript zugänglich ist), das sich nacheinander oder parallel mit jedem Computer verbindet und die Zeit ausgibt seit dem letzten Neustart in einem bestimmten Format. Das hängt alles davon ab, wie aufwendig es gemacht wird.
quelle
Der Vollständigkeit halber kann man auch
/var/log/wtmp
über den letzten Befehl nachsehen . Beispiel:Diese Methode ist sehr beliebt, weil sie auch die perfekte Gedächtnisstütze ist.
quelle
Wenn ein Paket, das einen Neustart erfordert, über aktualisiert wurde
apt
, wird eine aufgerufene Dateireboot-required
in erstellt/var/run/
. Der Systemadministrator kann remote prüfen, ob diese Datei vorhanden ist, um festzustellen, ob aufgrund von Aktualisierungen ein Neustart erforderlich ist.quelle
apt-get -y upgrade
.) Es würde also kein geben,reboot-required
da aus Sicht von apt ein Neustart noch nicht erforderlich ist.Dies ...
ist der Schlüsselteil.
Wenn der Administrator gut ist, hat er wahrscheinlich die Updates von seinem Computer eingerichtet, damit die PCs nicht die gleiche Datei aus dem Internet herunterladen müssen. Wenn ja, kann er auf seinem eigenen Computer sehen, wer die Patches heruntergeladen hat.
Er muss dann nur noch die IP-Adressen der Systeme überprüfen, die die Patches geladen haben, und diese an diejenigen senden und per E-Mail versenden, die dies nicht getan haben. Diese E-Mail kann sogar eine automatisch generierte E-Mail sein. Stellen Sie sich vor, es gibt 500 Maschinen. Es ist Zeitverschwendung, jeden von ihnen manuell zu überprüfen, wenn es mehrere Methoden gibt, die er aus eigener Kraft ausführen kann.
Ein sehr wichtiger Grund dafür ist, dass ein Administrator die Kontrolle darüber hat, was auf den zu wartenden Systemen geschieht. Er sollte also immer einen einzigen Kontrollpunkt haben (dh seine eigene Maschine, auf der er alle Werkzeuge hat), an dem er den Status jeder Maschine sehen kann.
quelle
In den Antworten werden mehrere gültige Methoden beschrieben. Sich einzuloggen und die Verfügbarkeit zu überprüfen, wäre für ein großes Unternehmen ungewöhnlich, aber für ein kleineres Unternehmen machbar. Der Sysadmin hätte über SNMP prüfen können, aber das gleiche "Problem" -Argument könnte dort verwendet werden.
Die wahrscheinlichsten Situationen sind für mich:
quelle
Wenn das System mit einem von ihm kontrollierten Netzwerk verbunden ist, kann der Sysadmin einfach auf den Switch oder den DHCP-Server schauen, um festzustellen, wie lange Ihre Netzwerkverbindung aktiv war. Das wird ihm auch sagen, dass Sie nicht neu gestartet haben.
quelle