Configuration de la date et de l'heure sous Linux

Deux commandes permettent de gérer la date et l'heure avec Ubuntu : la commande date (associée à la commande ntp pour la synchronisation avec un serveur NTP) et la commande timedatectl. Nous verrons ici l'utilisation de la commande timedatectl, qui permet également de gérer la synchronisation avec un serveur NTP. Cette commande est installée par défaut sur la majorité des systèmes Linux, notamment Debian et ses dérivées (comme Ubuntu)

 

Affichage de la date et de l'heure

La commande timedatectl seule (ou avec l'option statustimedatectl status) permet d'afficher la date et l'heure actuelles du système, avec d'autres informations comme le fuseau horaire, l'heure universelle et l'état de la synchronisation NTP.

 

Changement de la date et de l'heure du système

Pour changer seulement la date
  • Commande : timedatectl set-time aaaammjj (année sur 4 chiffre, mois sur 2 chiffres et jour sur deux chiffres)
  • Exemple : timedatectl set-time 20200412 (pour définir la date au 12 avril 2020)
Pour changer seulement l'heure
  • Commande : timedatectl set-time hh:mm:ss (heures sur 2 chiffres, minutes sur 2 chiffres, secondes sur 2 chiffres)
  • Exemple : timedatectl set-time 09:53:56 (pour définir l'heure à 9h53'56")
Pour changer simultanément la date et l'heure
  • Commande : timedatectl set-time 'aaaa-mm-jj hh:mm:ss'
  • Exemple : timedatectl set-time '2020-04-12 09:53:56'

 

Changement du fuseau horaire du système

  • Première étape : choisir le nom de la zone que vous souhaitez utiliser. La liste des zone est disponible avec la commande timedatectl list-timezones
  • Deuxième étape : définir la zone avec la commande timedatectl set-timezone suivie du nom de votre zone.

Par exemple, pour définir la zone Europe/Paris (utilisée en France) : timedatectl set-timezone Europe/Paris

 

Définition de l'heure RTC

L'heure RTC (Real Time Clock) est l'heure "matérielle", à l'inverse de l'heure système qui est "logicielle". La différence principale entre ces deux horaires est que l'heure matérielle fonctionne même lorsque le système est éteint. Avec la commande timedatectl, vous pouvez synchroniser l'heure RTC avec l'heure universelle (zone horaire UTC) ou bien avec l'heure locale (adaptée à votre fuseau horaire)

  • Heure RTC synchronisée avec l'heure universelle : timedatectl set-local-rtc 0
  • Heure RTC synchronisée avec l'heure locale : timedatectl set-local 1

 

Synchronisation avec un serveur NTP

Le protocole NTP (Network Time Protocol) permet de synchroniser l'horloge d'un système avec celle d'un serveur de référence.

  • Définition des serveurs NTP sur lesquels se synchroniser :
    • Ouvrir le fichier /etc/systemd/timesyncd.conf
    • Décommenter les lignes NTP= et FallbackNTP=
    • Ajouter si vous le souhaitez des serveurs NTP supplémentaires à la suite (ou en remplacement) du serveur par défaut (ntp.ubuntu.com) sur la ligne FallbackNTP (chaque nom de serveur est séparé par un espace)
  • Activation de la synchronisation : commande timedatectl set-ntp true

Si vous souhaitez désactiver la sychronisation : timedatectl set-ntp false