¿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

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


awk o la versión GNU gawk es más que un simple comando de procesamiento de patrones, es todo un lenguaje de análisis semántico....


EL espacio disponible en disco se determina con este comando built-in del sistema operativo Linux, df.....


Ya son varios los lectores que me preguntan que CMS (content management system) utilizo para este sitio. Ejemplos de CMS son mambo....


Hay ocasiones que los usuarios insisten en poner contraseñas muy débiles de 5 o 6 caracteres a lo más. Y el argumento que dan e....


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


Imagínate que eres un administrador de sistemas Linux que trabaja desde un equipo Windows y usas Putty para conectarte a los serv....


Uno de mis clientes tiene múltiples aplicaciones basadas en VisualBasic 6 y como base de datos Access, que se ejecutan directamen....


Si acostumbras trabajar en la línea de comandos de Linux, muy posiblemente uses el shell bash (Bourne Again Shell, derivado del b....


Eventualmente, mientras más se aprende a usar la línea de comandos y a realizar shell scripts, en alguno de estos scripts necesi....



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