Я ищу метод / команду Linux, чтобы получить время работы open-ssh
сервер и Nginx
сервер, работающий в моей системе Ubuntu. Я хочу знать время работы для расчета некоторой внутренней статистики. Я ищу что-то похожее на mysqladmin status
команда.
Спасибо
На самом деле 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%, указывающее на время безотказной работы.
Проверьте следующий ответ, чтобы получить эту информацию от 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% в этом.