
Ich suche nach einer Methode/einem Linux-Befehl, um die Betriebszeit des open-ssh
Servers und Nginx
des Servers zu ermitteln, der auf meinem Ubuntu-System läuft. Ich möchte die Betriebszeit kennen, um einige interne Statistiken zu berechnen. Ich suche nach etwas Ähnlichem wie diesem mysqladmin status
Befehl.
Danke
Antwort1
Nun, es gibt keine wirkliche Verfügbarkeit von OpenSSH. Sie können überprüfen, ob es aktiv ist oder wie viele Verbindungen es hat. Oder Sie können den letzten Neustartzeitpunkt abrufen, indem Sie auf/var/run/sshd.pid
ls -l /var/run/sshd.pid
-rw-r--r-- 1 root root 4 2012-12-15 21:26 /var/run/sshd.pid
Diese Datei wird aktualisiert, wenn der Daemon gestartet/neu gestartet wird. Sie können Ihre Berechnung also auf dieser Grundlage durchführen.
Für nginx können Sie das Statusmodul installieren (http://wiki.nginx.org/HttpStubStatusModule) und verwenden Sie das dann, um einige Informationen zu erhalten, aber leider scheint die Betriebszeit dort nicht zu stehen. Sie könnten wahrscheinlich dieselbe Idee verwenden und sich die Nginx-PID-Dateien ansehen, aber das wird Ihnen nur den Stand seit dem letzten Neustart usw. anzeigen und ist kein 100%iger Indikator für die Betriebszeit.
Antwort2
Lesen Sie die folgende Antwort, um diese Informationen von ps zu erhalten. https://stackoverflow.com/questions/5731234/wie-man-die-startzeit-eines-langlaufenden-linux-prozesses-erhält
Sie müssen diese Ausgabe analysieren (awk, Perl oder Python fallen mir da ein).
Alternativ können Sie beispielsweise die ctime von verwenden:
/proc/PID_OF_NGINX_MASTER_PROCESS
aber da bin ich mir nicht 100% sicher.