¿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

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


En casi todas las distribuciones de Linux se instala por defecto el excelente programa para manipulación de imágenes ImageMagick....


En Linux existen tres formas de controlar y mostrar la marca del tiempo en archvios y directorios. Asi es, cuando creas o editas u....


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


Hay ocasiones que cuando busco un archivo dentro del listado de un directorio con varios archivos, usando ls, deseo ver solamente ....


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


El siguiente script te presenta la manera de colocar un reloj (hora y fecha) en la parte superior derecha de una terminal de texto....


Para Linux todo es un archivo, incluyendo dispositivos como discos duros, cdroms, disquetes, unidades de cinta, memorias usb, etc.....


Cron es el nombre del programa que permite a usuarios Linux/Unix ejecutar automáticamente comandos o scripts (grupos de comandos)....


En Linux hay diversas herramientas para empaquetar y comprimir archivos, tomando en cuenta que empaquetar es juntar dos o más arc....



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