Configurando la fecha y hora en Linux

Antes de nada es necesario comprender cómo funciona y cómo se obtiene la hora en un sistema operativo Linux.

Para saber la hora correcta cualquier ordenador necesita dos datos: la hora real UTC (Universal Time Greenwich, no la GMT) y la zona horaria. Para ello se utilizan dos relojes, el reloj hardware y el reloj del sistema operativo. La hora que realmente importa es la hora del sistema, ya que la hora del reloj hardware en un sistema Linux únicamente se utiliza para mantener la hora mientras el sistema operativo no se utiliza.

Para que el sistema operativo pueda calcular la hora real a partir de la almaecenada en el reloj hardware, es necesario disponer de información sobre el huso horario. Para ello los sistemas Linux utilizan una archivo con nombre /etc/localtime. Este archivo suele ser un enlace a un archivo con la información a una zona ubicada normalmente en /usr/share/zoneinfo.

En esta carpeta hay muchos archivos aunque en realidad haya únicamente 24 husos horarios. Esto se debe a que hay situaciones en las que los husos horarios cambian, por ejemplo debido a adelantos horarios de verano e invierno… En nuestro caso podríamos utilizar la zona horaria centro europea de la siguiente forma:

bash# ln -sf /usr/share/zoneinfo/CET /etc/localtime

Para realizar una configuración correcta se debe conocer la zona horaria en la que se está. Con esta información hay que modificar el archivo /etc/sysconfig/clock directamente o bien mediante el comando timeconfig. Aparte de la zona horaria debemos decidir si vamos a guardar en el reloj la hora como UTC o localtime. Normalmente si solo tenemos Linux instalado en la máquina utilizaremos UTC, pero si tenemos también instalado Windows, podría ser necesario utilizar localtime. Los ejemplos siguientes se realizarán teniendo en cuenta que queremos almacenar la hora como UTC.

Por ejemplo para configurar como zona horaria Madrid e indicando que el reloj hardware almacene la hora como UTC, usaríamos el siguiente comando:

bash# timeconfig --utc "Brasil/East"

y el resultado sería el siguiente: /etc/sysconfig/clock

ZONE="Europe/Madrid"
UTC=true
ARC=false

Para cambiar la hora hardware se dispone del comando hwclock. Este comando nos permite consultar el reloj, copiar la información del sistema en el reloj, del reloj en el sistema, o especificar una hora concreta. Para copiar la hora actual del sistema al reloj deberíamos utilizar el siguiente comando:

bash# hwclock --systohc --utc

Más información:
Linux, Clocks, and Time
Managing Accurate Date and Time
Página MAN de hwclock

Twitter Digg Delicious Stumbleupon Technorati Facebook Email

13 Respuestas para “Configurando la fecha y hora en Linux”

  1. Despues de leer esta biblia, sigo sin saber como cambiar la hora de el sistema, leyendo los manuales, he sacado en limpio lo siguiente:

    Si quieres cambiar la hora de el sistema o la fecha o todo junto, escribes literalmente esto:
    date -s “09/04/2006 01:07″

    En modo root, recuerden, y fiesta, así de esta forma, cambiais la fecha al lunes 4 de septiembre de 2006, hale.

  2. En efecto, con el comando “date” puedes modificar la fecha y hora del sistema operativo, pero ten en cuenta que por debajo figura la configuración de localtime, más que nada para que llegadas las fechas de cambio horario, éstas se hagan de forma automática.

  3. date –help para mas opciones
    en red hat solo basta ejecutar date 011518352007 para que la configuración cambie a enero 15 6:30 pm del 2007 por poner un ejemplo

  4. date -s “2007-04-30 11:16″
    cambia la hora de mi Localhost pero mas sin embargo cuando estas haciendo en una maquina virtual (ej: VMWare) se tiene que tener en cuenta tambien la hora del hardware ya que de esta depende la hora del sistema en si, haciendo pruebas la unica forma que “se dejo” fue cambiando la hora con date -s y luego con:
    #hwclock –systohc
    copie la hora del sistema al hardware

  5. Excelente ariculo!

    Muchas gracias… solo que usos va sin h =P

  6. Muy bueno, me aclara muchas cosas.
    Ah! Huso Horario es con H. Me hizo dudar y lo busqué en http://www.rae.es.

  7. Henry Méndez 17. jul, 2008 en 6:32 pm

    AYUDA URGENTE, AYUDA URGENTE, AYUDA URGENTE, AYUDA URGENTE, AYUDA URGENTE,

    Por favor necesito saber como obtener la hora de un dispositivo conectado a mi equipo (con red hat linux) a través de un puerto serial RS232. Por favor necesito su ayuda, ya logre que haya comunicacion pero no logro que la hora del sistema se obtenga del dispositivo conectado a través de dicho puerto.

    El punto, es que el horario del equipo debe ser obtenido de un dispositivo controlador de horario (Arbiter System 1093-C), de tal forma que al cambiar el horario de la maquina, automaticamente se actualiza y tome el horario proporcionado por el dispositivo.

    POR FAVOR ALGUN EXPERTO QUE ME AYUDE, SOY PRIMERIZO EN LINUX

    MIL GRACIAS

    Les dejo mi correo por si alguien me puede ayudar

    hem18_86hotmail.com

  8. Hola a todos , por favor sabe algun como cambiar la hora en un VPS ?

    Espero respuestas o mandarme un email

    Muchas gracias :=)

  9. Para cambiar la hora del sistema es mas sencillo uar el comando: sudo dpkg-reconfigure tzdata, y configurarlo desde ahi, faci facil ,-)

    Salu2.

  10. x fi dejenme instalar hora en linux

  11. Mi servidor tiene un dia adelantado en la fecha alguien sabe como cambiarlo Gracias

Trackbacks/Pingbacks

  1. Linux-OS » Como cambiar la fecha y hora de un sistema linux - 19. mar, 2010

    [...] Mas info aquí. [...]

  2. Configuración de la Hora en servidores Debian/Ubuntu - 07. mar, 2012

    [...] Mas Informacion: [1] http://www.eslomas.com/2005/01/configurando-la-fecha-y-hora-en-linux/ [2] http://www.pool.ntp.org/zone/@/ [3] http://www.linuxsa.org.au/tips/time.html Tags: hwclock, [...]

Dejar un Comentario