¿Requieres de una instalación o configuración de Linux o sus servicios?
¿Un desarrollo WEB empresarial a la medida?
¿Un curso o capacitación a la medida?
Revisa el sitio de SERVICIOS de LinuxTotal


Distintas maneras de saber el tiempo encendido (uptime) del servidor Linux 

Copyright © 2005-2018 LinuxTotal.com.mx
Se concede permiso para copiar, distribuir y/o modificar este documento siempre y cuando se cite al autor y la fuente de linuxtotal.com.mx y según los términos de la GNU Free Documentation License, Versión 1.2 o cualquiera posterior publicada por la Free Software Foundation.

Autor: Sergio González D.  

Hay distintas maneras de establecer cuanto tiempo un sistema Linux lleva ejecutándose. Aunque pudiera parecer trivial, esto es importante desde el punto de vista de administración de servidores Linux. Es posible que se requiera determinar si hubo un fallo de energía, o si alguien por cualquier razón, reinició el sistema, quizás algún servicio o cron está reiniciando el servidor, etc. Saber como determinar cuando o cuanto tiempo lleva encendido el sistema, es pues, una tarea común como sysadmin. Veamos algunos métodos:


uptime

uptime es el comando más utilizado para determinar rapidamente el tiempo que lleva en ejecucción el sistema:
# uptime
 14:41:44 up  5:31,  4 users,  load average: 0.18, 0.24, 0.42

En este caso, después de "up" (arriba) nos informa que son 5 horas con 31 minutos. Como se podrá observar también nos da la hora actual, usuarios conectados y la carga promedio de uso de los CPU(s). Informativo, pero si queremos determinar a que hora exacto inicio el sistema, tendríamos que hacer una resta de la hora actual con el tiempo "up", no muy intuitivo, asi que para eso tenemos la opción -s:

[root@sergiogo-pc ~]# uptime -s
2017-09-04 09:09:50

uptime también tiene otra opción (no tiene muchas), la opción -p (pretty) que da la información de "up" un poco más entendible:

[root@sergiogo-pc ~]# uptime -p
up 5 hours, 31 minutes

En un sistema con más tiempo (varios meses o más) encendido, las salidas serían como las siguientes:

$ uptime
 19:52:26 up 116 days, 18:09, 12 users,  load average: 0.02, 0.20, 0.19
$ uptime -p
up 16 weeks, 4 days, 18 hours, 9 minutes
$ uptime -s
2017-05-10 03:42:22

Nota: las opciones -s y -l están disponibles en la versión 3.3 y superior del comando uptime. La versión se determina con la opción -V.

who

Con el comando who y la opción -b es posible obtener también la fecha y la hora de inicio del sistema:

$ who -b
    system boot  2017-09-04 09:14

No es el punto de este artículo, pero ya que estamos aqui, la opción -r es útil para determinar el último cambio de runlevel o nivel de ejecucción del sistema:

[sergiogo@sergiogo-pc ~]$ who -r
     run-level 5  2017-09-04 09:12
	 
		
		
[sergiogo@sergiogo-pc ~]$ who -br
         system boot  2017-09-04 09:14
         run-level 5  2017-09-04 09:12

last

El comando last despliega una lista de los últimos usuarios que se han logueado al servidor. Pero también muestra cuando fue reiniciado el sistema:

$ last
sergio pts/3        :0               Mon Sep  4 13:26   still logged in   
sergio pts/0        :0               Mon Sep  4 09:13   still logged in   
sergio :0           :0               Mon Sep  4 09:12   still logged in   
(unknown :0           :0               Mon Sep  4 09:12 - 09:12  (00:00)    
reboot   system boot  3.10.0-514.10.2. Mon Sep  4 09:14 - 15:50  (06:35)    
sergio pts/1        :0               Fri Sep  1 10:22 - 17:25  (07:03)    
user1  pts/0        :0               Fri Sep  1 10:04 - 17:39  (07:34)    
sergiogo :0           :0               Fri Sep  1 10:02 - 17:41  (07:38)    
(unknown :0           :0               Fri Sep  1 10:02 - 10:02  (00:00)    
reboot   system boot  3.10.0-514.10.2. Fri Sep  1 10:05 - 15:50 (3+05:44)   
sergio pts/1        :0               Thu Aug 31 10:57 - 17:46  (06:49)    
sergio pts/0        :0               Thu Aug 31 09:25 - 17:47  (08:22)    
user2 :0           :0               Thu Aug 31 09:22 - 17:48  (08:26)    
(unknown :0           :0               Thu Aug 31 09:22 - 09:22  (00:00)    
reboot   system boot  3.10.0-514.10.2. Thu Aug 31 09:25 - 17:49  (08:23)    
sergio pts/1        :0               Wed Aug 30 12:42 - 17:15  (04:33)    
sergio pts/0        :0               Wed Aug 30 09:08 - 17:18  (08:10)   


$ last reboot
reboot   system boot  3.10.0-514.10.2. Mon Sep  4 09:14 - 15:55  (06:40)    
reboot   system boot  3.10.0-514.10.2. Fri Sep  1 10:05 - 15:55 (3+05:49)   
reboot   system boot  3.10.0-514.10.2. Thu Aug 31 09:25 - 17:49  (08:23)    
reboot   system boot  3.10.0-514.10.2. Wed Aug 30 09:11 - 17:19  (08:07)  


$ last reboot -F | head -4
reboot   system boot  3.10.0-514.10.2. Mon Sep  4 09:14:56 2017 - Mon Sep  4 16:11:25 2017  (06:56)    
reboot   system boot  3.10.0-514.10.2. Fri Sep  1 10:05:41 2017 - Mon Sep  4 16:11:25 2017 (3+06:05)   
reboot   system boot  3.10.0-514.10.2. Thu Aug 31 09:25:37 2017 - Thu Aug 31 17:49:11 2017  (08:23)    
reboot   system boot  3.10.0-514.10.2. Wed Aug 30 09:11:27 2017 - Wed Aug 30 17:19:20 2017  (08:07)  

w

El comando w muestra los usuarios conectados y lo que están haciendo, y también muestra, al igual que uptime, de hecho, exactamente igual que uptime muestra la hora actual, el tiempo up, usuarios conectados y carga del CPU(s)

$ w
 16:32:57 up  7:23,  3 users,  load average: 0.95, 1.11, 1.15
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
sergio :0       :0               09:12   ?xdm?   3:14m  0.25s gdm-session-worker [pam/gdm-password]
sergio pts/0    :0               09:13    7:18m  0.02s  0.02s /bin/bash
sergio pts/1    :0               09:44    1:00m  0.09s  1.52s /usr/bin/python /usr/bin/terminator

Si no deseas que w muestre la primera línea de su salida, utiliza entonces la opción -h


/proc/uptime

Por último, este archivo contiene información de cuanto tiempo tiene el sistema encendido, desde el último reinicio (restart):

$ cat /proc/uptime
27320.94 95276.77

El primer número es el total de segundos que el sistema lleva encendido. El segundo es el total de segundos que el sistema ha estado en reposo.

¿Porque el segundo es mayor que el primero?, esto es muy común en equipos actuales con multicores. El segundo número sería el tiempo en segundos en reposo -acumulado- de todos los procesadores. Aqui lo importante es el primer número que representa el uptime o tiempo arriba del sistema en segundos.

Como se podrá deducir, /proc/uptime es la fuente de donde se obtiene la información de donde los comandos previos mostrados determinan el tiempo arriba del sistema. Es muy fácil utilizar un comando tipo awk de donde se pueda personalizar un comando "uptime" propio:

# awk para personalizar la salida de /proc/uptime, $1 es el primer argumento de la salida,
  es decir los segundos transcurridos desde el inicio del sistema.
    
$ awk '{print int($1/86400)" dias\n "int($1%86400/3600)" horas\n" int(($1%3600)/60)" minutos\n"int($1%60)" segundos"} ' /proc/uptime
8 dias
9 horas
14 minutos
59 segundos


¿Requieres de una instalación o configuración de Linux o sus servicios?
¿Un desarrollo WEB empresarial a la medida?
¿Un curso o capacitación a la medida?
Revisa el sitio de SERVICIOS de LinuxTotal

LinuxTotal en:

Si encuentras útil la información que proveé LinuxTotal, considera realizar un donativo que estimule a seguir proporcionando contenido de calidad y utilidad. Gracias.


Dona a través de paypal::


O a través de bitcoins:


14TNQv5wM3xkSv65gHGQ6s6f8yTZuFTohE
Más artículos de LinuxTotal

El directorio /proc es una bestia extraña. Realmente no existe, sin embargo puedes explorarlo. Sus archivos de tamaño 0 no son n....


yum es un paquete administrador de software(software package manager). Es una muy útil herramienta para instalar, actualizar y re....


mysqldump es una utilieria cliente de MySQL que te permite respaldar bases de datos. Aprende por ejemplos como utilizarlo. Puedes....


SSH (Secure SHell), www.openssh.com, es la herramienta de conexión segura mas usada en el mundo Linux, no hay nada como ssh para ....


Una tarea administrativa algo común, es eventualmente tener que añadir un nuevo disco duro (IDE) al o a los que ya se tienen, de....


Muchos validadores de direcciones de correo electrónico devolverán errores cuando se enfrenten con una inusual pero válida dire....


He actualizado con varios nuevos comandos la popular guía de LinuxTotal.com.mx, asi como he añadido enlaces en los comandos en l....


ssh es quizás (en mi opinión) la mejor herramienta de comunicación que existe cuando se trata de establecer contacto con un ser....


¿Olvidaste o perdiste la contraseña del usuario 'root' de MySQL?, no hay problema, solo sigue estás sencillas instrucciones y p....


Hay decenas de apliaciones para descargar archivos, la mayoría basadas en interfaces Web y de escritorio, y para todos los sistem....



Copyright © LinuxTotal.com.mx 2006-2018
info@linuxtotal.com.mx · linuxtotal.com.mx@gmail.com