it-swarm-es.com

historia de tiempo de actividad de linux

¿Cómo puedo obtener un historial de tiempos de actividad para mi caja de Debian? Después de reiniciar, no veo una opción para que el comando de tiempo de actividad imprima un historial de tiempos de actividad. Si es importante, me gustaría usar estos tiempos de actividad para graficar una página en php para mostrar la duración de tiempo de actividad de mis servidores web entre las botas.

Actualización: no estoy seguro si se basa en un período de tiempo o si la última vez se reinicia al reiniciar, pero solo obtengo la marca de tiempo de inicio más reciente con el último comando. last -x tampoco devuelve más información. Suena como un guión es mi mejor apuesta.

Actualización: Uptimed es la información que estoy buscando, no estoy seguro de cómo obtener esa información en el código. Administrar mi propio script para una base de datos suena como la mejor opción para una aplicación.

33
Jas

Puede crear una secuencia de comandos simple que ejecute el tiempo de actividad y lo descargue en un archivo.

uptime >> uptime.log

Luego configure un trabajo cron para ello.

28
etchasketch

Instalar ptimed . Hace exactamente lo que quieres.

Editar:

Aparentemente puede incluirlo en una página PHP) tan fácilmente como esto:

<? system("/usr/local/bin/uprecords -a -B"); ?>

Ejemplos: ¿enlace roto?

48
1800 INFORMATION

el comando last le dará los tiempos de reinicio del sistema. Podría tomar la diferencia entre cada reinicio sucesivo y eso debería proporcionar el tiempo de actividad de la máquina.

actualización

1800 INFORMACIÓN la respuesta es una mejor solución.

24
roo

Probar esto:

last | grep reboot 
7
none

de acuerdo con la página del manual last:

El reinicio del pseudo usuario inicia sesión cada vez que se reinicia el sistema. Por lo tanto, el último reinicio mostrará un registro de todos los reinicios desde que se creó el archivo de registro.

así que la última columna de #last reboot el comando te da un historial de tiempo de actividad:

#last reboot
reboot   system boot  **************** Sat Sep 21 03:31 - 08:27 (1+04:56)   
reboot   system boot  **************** Wed Aug  7 07:08 - 08:27 (46+01:19)
7
sepehr

Crearía un trabajo cron para ejecutarlo con la resolución requerida (digamos 10 minutos) ingresando la siguiente [en na línea simple - La acabo de separar para propósitos de formateo] en su crontab (cron - l para enumerar, cron -e para editar).

0,10,20,30,40,50 * * * *
    /bin/echo $(/bin/date +\%Y-\%m-\%d) $(/usr/bin/uptime)
    >>/tmp/uptime.hist 2>&1

Esto agrega la fecha, hora y tiempo de actividad al archivo uptime.hist cada diez minutos mientras la máquina está funcionando. Luego puede examinar este archivo manualmente para averiguar la información o escribir un script para procesarlo como mejor le parezca.

Cada vez que se reduce el tiempo de actividad, ha habido un reinicio desde el registro anterior. Cuando hay grandes espacios entre líneas (es decir, más de los diez minutos esperados), la máquina ha estado inactiva durante ese tiempo.

2
paxdiablo

Esto no se almacena entre las botas, pero The Uptimes Project es una opción de terceros para rastrearlo, con software para una variedad de plataformas.

Otra herramienta disponible en Debian es ptimed que rastrea los tiempos de actividad entre las botas.

2
Shermozle

Como no he encontrado una respuesta aquí que pueda ayudar retroactivamente, tal vez esto ayude a alguien.

kern.log (dependiendo de su distribución) debe registrar una marca de tiempo. Será algo así como: 2019-01-28T06: 25: 25.459477 + 00: 00 algún kernel de servidor: [44114473.614361] somemessage

"44114473.614361" representa segundos desde el último arranque, a partir de eso puede calcular el tiempo de actividad sin tener que instalar nada.

1
Jan Schermer

O puede usar tuptime https://sourceforge.net/projects/tuptime/ para un tiempo de actividad total.

1
Slet

no creo que esta información se guarde entre reinicios.

si se apaga correctamente, puede ejecutar un comando de apagado que ahorre el tiempo de actividad, de esa manera podría volver a leerlo después de reiniciar.

1
John Boker

Esta información no se guarda normalmente. Sin embargo, puede suscribirse a un servicio en línea que lo hará por usted. Simplemente instale un cliente que enviará su tiempo de actividad al servidor cada 5 minutos y el sitio le presentará un gráfico de sus tiempos de actividad:

http://uptimes-project.org/

1
Kyle Cronin

Puede usar tuptime, un comando simple para informar el tiempo de actividad total en Linux manteniéndolo entre reinicios.

http://sourceforge.net/projects/tuptime/

1
Rfraile

Nagios puede hacer incluso diagramas muy hermosos sobre esto.

0
peterh