linux histórico


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

Actualizar: No estoy seguro si se basa en un período de tiempo o si last se restablece al reiniciar, pero solo obtengo la marca de tiempo de arranque más reciente con el último comando. last-x tampoco devuelve más información. Parece que un guión es mi mejor apuesta.

Actualizar: Uptimed es la información que estoy buscando, no estoy seguro de cómo grep 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.

 32
Author: Daniel Lew, 2008-09-17

12 answers

Puede crear un script simple que ejecute uptime y lo vuelque a un archivo.

uptime >> uptime.log

Luego configure un trabajo cron para ello.

 26
Author: etchasketch,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-17 03:06:16

Install uptimed. Hace exactamente lo que quieres.

Editar:

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

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

Ejemplos - ¿enlace roto?

 47
Author: 1800 INFORMATION,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-03-04 22:46:42

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

Update

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

 21
Author: roo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 10:30:54

De acuerdo con last página de manual:

El seudo usuario se reinicia cada vez que se reinicia el sistema. Por lo tanto, el último reinicio mostrará un registro de todos los reinicios desde el archivo de registro fue creado.

Así que la última columna del comando #last reboot le da el 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
Author: sepehr,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-09-22 12:39:07

Prueba esto:

last | grep reboot 
 4
Author: Willi Mentzel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-06-07 07:33:07

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

Otra herramienta disponible en Debian es uptimed que realiza un seguimiento de los tiempos de actividad entre arranque y arranque.

 2
Author: Shermozle,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-17 03:04:35

Crearía un trabajo cron para ejecutarlo con la resolución requerida (digamos 10 minutos) ingresando la siguiente [en una línea única - acabo de separarla para propósitos de formato] en su crontab (cron-l para listar, 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, la hora y el tiempo de actividad al tiempo de actividad.archivo hist cada diez minutos mientras la máquina está funcionando. A continuación, puede examinar este archivo manualmente para averiguar la información o escribir un script para procesarlo como se ve encajar.

Cada vez que el tiempo de actividad se reduce, 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
Author: paxdiablo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-09-16 05:13:10

Esta información normalmente no se guarda. Sin embargo, puede inscribirse en 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
Author: Kyle Cronin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-17 03:03:31

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

Si se apaga correctamente, podría ejecutar un comando al apagar que ahorra tiempo de actividad, de esa manera podría leerlo de nuevo después de arrancar una copia de seguridad.

 1
Author: John Boker,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-17 03:00:31

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

 1
Author: Slet,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-06-13 12:00:04

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

Http://sourceforge.net/projects/tuptime /

 1
Author: Rfraile,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-04-16 22:52:19

Nagios puede hacer incluso diagramas muy hermosos sobre esto.

 0
Author: peterh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-11-25 14:01:56