Categorías: Tutoriales

¿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:

# 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

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.

F. Javier Carazo Gil

Cofundador de CODECTION, empresa especializada en WordPress, autor de un libro sobre WordPress (el primero en español) y multitud de artículos (en medios físicos y virtuales) sobre el tema. Participa en la comunidad WordPress de forma activa siendo parte del equipo organizador de la WordPress Meetup de Córdoba, dando charlas en diferentes WordCamp y siendo autor y coautor de multitud de plugins libres y premium para WordPress de gran éxito.

Ver comentarios

  • Qué opinas del comando ntpdate?

    Lo tengo como tarea de cron con la sintaxis
    ntpdate 0.pool.ntp.org >>/dev/null

    para que ejecute cada hora, no hay que enredar con configuraciones. Empecé a usarlo porque nunca recordaba la sintaxis de date :S

    Saludos.

  • Y si no quieres depender de un servicio de hora desde la red, puedes usar tú GPS a través del demonio gpsd.

    Por cierto, gracias por la aportación @nordri, un saludo.

  • @nordri: Curiosamente, justo antes de leer tu comentario, ya había terminado y programado una entrada que saldrá esta noche a portada explicando el uso de NTP, me alegra saber que te interesará :)

    Qué razón llevas con la sintaxis de date, aparte de poco intuitiva... es como todo en este mundo, demasiado sajón en las formas de presentación.

  • ayuuudaaa plissss

    Mostrar la hora actual del sistema
    4. Mediante formatos traer la fecha del sistema mostrando el texto “Hoy es ...”
    5. Mediante formatos traer el mes actual del sistema mostrando el texto “El mes es 
    … ”
    6. Usando los formatos, mostrar en pantalla el texto “Hoy es 
    día_semana_completo,número_de_día de nombre_mes_completo de año”
    7. Mostrar el calendario completo del mes actual
    8. Mostrar el calendario completo de marzo de 2012
    9. Mostrar el calendario completo del año de su nacimiento
    10. Ver el manual referente al comando cal y compararlo con la salida del comando 
    info cal
     
    Administración de usuarios y rutas de trabajo
     
    11.   Mostrar la ruta actual de trabajo
    12.   ¿Qué función tiene el comando who? 
    13.   Liste los archivos que se encuentran en la ruta /home
    14.   Que diferencia existe entre la salidas de los comandos ls y ls –la
    15.   En la ruta /home/ cree una carpeta con el nombre UPTCFESAD 
    16.   Al ubicarse dentro de la carpeta creada en el punto anterior ¿Cuál sería la ruta                                                                                                                                                                                                                
    actual de trabajo? 
    17. Dentro de la carpeta UPTCFESAD cree un archivo llamado “Shell” usando el
    comando pico de la siguiente manera:  pico Shell 
    18.  El contenido del archivo Shell debe tener las siguientes características:
     
    # Este es un archivo de ejecución en Linux
     
    echo  Esta es la información de sistema
    who
    pwd
    date
    cal  

    Guardar el archivo
     
    19. Usar el comando ls -la en la ruta actual de trabajo.  Cambiar los permisos del
    archivo Shell usando el comando chmod 777 Shell y volver a usar el comando 
    ls –la
    20.  Ejecutar el comando. /Shell  ¿Cuál es la salida del comando? 

Compartir
Publicado por
F. Javier Carazo Gil

Entradas recientes

DeepSeek

2 días hace

Contacto

2 semanas hace

Smart-tv mute

2 semanas hace

STEAM OS

3 semanas hace

2025

4 semanas hace

El podcast de Linux Hispano – #072 – El hardware libre debe consolidarse como el software libre

https://www.youtube.com/embed/z-xGk9c_eOw Guionista y locutor: Manuel Ignacio López Quintero.Fecha de publicación: 31 de diciembre de 2024.

1 mes hace