Команда/метод для определения времени работы демона сервера SSH и Nginx

Команда/метод для определения времени работы демона сервера SSH и Nginx

Я ищу метод / команду Linux для получения времени безотказной работы open-sshсервера и Nginxсервера, работающего на моей системе Ubuntu. Я хочу узнать время безотказной работы для расчета некоторых внутренних статистических данных. Я ищу что-то похожее на mysqladmin statusкоманду.

Спасибо

решение1

Ну, на самом деле, у openssh нет времени безотказной работы. Вы можете проверить, активен ли он или сколько у него подключений. Или можете узнать время последнего перезапуска, посмотрев на/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

Этот файл обновляется при запуске/перезапуске демона. Так что можно делать расчеты на основе этого.

Для nginx вы можете установить модуль статуса (http://wiki.nginx.org/HttpStubStatusModule) и затем использовать это, чтобы получить некоторую информацию, но увы, время безотказной работы там не отображается. Вероятно, можно использовать ту же идею, просматривая файлы pid nginx, но это просто скажет вам с момента последнего перезапуска и т. д., а не будет на 100% указывать на время безотказной работы.

решение2

Проверьте следующий ответ, чтобы получить эту информацию из ps. https://stackoverflow.com/questions/5731234/how-to-get-the-start-time-of-a-long-running-linux-process

Вам нужно будет проанализировать этот вывод (на ум приходят awk, Perl или Python).

В качестве альтернативы вы можете использовать ctime (например)

/proc/PID_OF_NGINX_MASTER_PROCESS

но я не уверен в этом на 100%.

Связанный контент