viernes, 26 de noviembre de 2010

¿Cómo cambiar la fecha y la hora desde la consola?

¿Cómo cambiar la fecha y la hora desde la consola?: "

Hoy mismo he tenido un problema que en absoluto es baladí. Me han avisado de que una aplicación de creación propia no funcionaba por un tema de fechas y horas, en concreto, no dejaba reservar un recurso común porque decía que la hora de reserva era anterior a la actual. El problema era que el servidor sobre el que ejecuta dicha aplicación, tenía mal la hora (está virtualizado con Xen y lleva sólo un par de días en marcha).


La solución es utilizar un servidor NTP pero mientras lo configuras y abres la conexión en el cortafuegos corporativo, lo más básico es poder modificar la fecha y hora a mano desde la terminal.


Primero, para ver la hora del sistema usamos la instrucción date:


-bash-3.2# date

Fri Nov 26 16:55:23 CET 2010


Para modificarlo tenemos, con el mismo comando le pasamos el parámetro -s seguido de una cadena que indique: “AAAA/MM/DD HH:MM:SS”. Un ejemplo es el siguiente:


-bash-3.2# date -s “2010/11/26 11:40:00″

Fri Nov 26 11:40:00 CET 2010


Más ejemplos de uso del comando date (referencia en el man en línea):


# Cambiar sólo la fecha:

date -d mm/dd/aa

# O lo que es lo mismo:

date –date=mm/dd/aa

# Cambiar sólo la hora:

date -s hh:mm:ss

# O su equivalente

date –set=hh:mm:ss


reloj retro geek


Sin embargo, todavía hay un detalle más que cuidar. En Linux tenemos dos relojes: el reloj hardware y el reloj del sistema. Con date modificamos el segundo, para modificar el reloj hardware deberemos usar: hwclock.


Lo ideal es que ambos estén sincronizados, por lo haremos lo siguiente (indicando además que se use UTC, tiempo universal coordinado):


hwclock –systohc –utc


Para terminar os comento, que si estáis usando un sistema virtualizado con Xen, no vais a disponer de reloj hardware (no sé si es posible virtualizarlo, pero por defecto, no se incluye), así que esta segunda parte os comentará amablemente un error:


-bash-3.2# hwclock –systohc –utc

Cannot access the Hardware Clock via any known method.

Use the –debug option to see the details of our search for an access method.

-bash-3.2# hwclock –debug –systohc –utc

hwclock from util-linux-2.13-pre7

hwclock: Open of /dev/rtc failed, errno=19: No such device.

No usable clock interface found.

Cannot access the Hardware Clock via any known method.

No hay comentarios: