Configurar y visualizar la hora

En Linux, la zona horaria del sistema es determinada por /etc/localtime (algunas veces es un enlace simb�lico). Si es un enlace, entonces apunta a un archivo de datos de zona horaria que describe la zona horaria local. Los archivos de datos de zonas horarias est�n ubicados en /usr/lib/zoneinfo o /usr/share/zoneinfo. (Otras distribuciones de Linux pueden llegar a determinar la zona horaria del sistema de manera diferente.)

Por ejemplo, en un sistema SuSE ubicado en New Jersey, /etc/localtime apuntar�a a /usr/share/zoneinfo/US/Eastern.

Si no encuentra el directorio zoneinfo en /usr/lib o en /usr/share, intente encontrarlo ejecutando find /usr -type d -name zoneinfo, o consulte la documentaci�n de su distribuci�n Linux.

�Qu� sucede cuando existen usuarios utilizando el mismo sistema pero se encuentran ubicados en zonas horarias diferentes? Un usuario puede cambiar su zona horaria privada definiendo la variable del ambiente TZ. Si TZ no se encuentra definida, entonces la zona horaria del sistema es la utilizada. La sintaxis de la variable TZ se encuentra descripta en la p�gina de manual de tzset.

El comando date muestra la hora y fecha actuales. Por ejemplo: [54] For example:

$ date
Sun Jul 14 21:53:41 EET DST 1996
$

Domingo, 14 de julio de 1996, alrededor de las 10 menos 10 de la noche, en la zona horaria llamada “"EET DST"” (la cual puede ser el "horario de verano" del D�a del Este de Europa). date puede tambi�n mostrar la hora en forma universal:

$ date -u
Sun Jul 14 18:53:42 UTC 1996
$

date tambi�n se utiliza para establecer la hora del reloj del kernel:

# date 07142157
Sun Jul 14 21:57:00 EET DST 1996
# date
Sun Jul 14 21:57:02 EET DST 1996
#

Lea la p�gina de manual de date si desea conocer mayores detalles; ya que la sintaxis es un poco complicada. Solo el usuario root puede modificar la fecha y/u hora. Aunque cada usuario puede definir su propia zona horaria, el reloj es el mismo para todos.

Date solo muestra o modifica el reloj de software. El comando clock sincroniza los relojes de hardware y software. Cuando el sistema inicia, el comando clock es utilizado para leer el reloj de hardware y actualizar el reloj de software. Si necesita modificar ambos relojes, primero debe modificar el reloj de software con date, y luego sincronizar la hora del reloj por hardware con el comando clock -w.

La opci�n -u en el comando lock le indica a clock que la fecha y hora (mostrada o definida) se encuentra en formato de hora universal. Debe utilizar la opci�n -u correctamente, en caso contrario, la computadora puede estar confundida sobre cual es la fecha y hora correcta.

Los relojes deben modificarse con cuidado y precisi�n. Muchas partes de un sistema UNIX requieren que los relojes trabajen correctamente. Por ejemplo, el demonio cron ejecuta comandos peri�dicamente. Si cambia el reloj, el sistema puede estar confundido en cuanto a la necesidad o no de ejecutar determinado comando. Hubo una vez, en un sistema UNIX antiguo, en donde alguien adelant� el reloj 20 a�os en el futuro, y entonces cron quiso ejecutar los comandos peri�dicos de veinte a�os, todos de una sola vez. Las versiones actuales de cron no tienen este problema, pero a�n as� debe ser cuidadoso con estos detalles (pueden existir otros programas actuales que trabajen similarmente mal como "ese" viejo cron). Grandes saltos en el tiempo (hacia el futuro o el pasado) son mas peligrosos que peque�as diferencias.



[54] Tenga cuidado con el comando time, ya que no muestra la fecha y hora del sistema.