Linux / Commande timedatectl : fuseau horaire et synchronisation
timedatectl affiche l’heure, le fuseau horaire, l’état de l’horloge matérielle et des informations de synchronisation sur un système utilisant systemd. Il peut aussi changer le fuseau ou activer une synchronisation réseau. Consultez d’abord le statut : le fuseau d’affichage, l’heure réelle du système et l’état du service de synchronisation sont des éléments distincts.
Lire le statut sans changer les réglages
timedatectl status
Sans sous-commande, timedatectl demande également le statut. Il présente notamment l’heure locale, l’heure UTC (temps universel coordonné), le fuseau et les indications de synchronisation disponibles. L’horloge système sert au fonctionnement courant ; l’horloge matérielle, appelée RTC pour Real-Time Clock, est une autre horloge.
| Indication | Comment la lire |
|---|---|
| Time zone | Règles utilisées pour représenter l’heure locale. |
| System clock synchronized | État de synchronisation rapporté pour l’horloge système. |
| NTP service | État du service de synchronisation reconnu ; actif ne prouve pas à lui seul une synchronisation réussie. |
| RTC in local TZ | Indique si la RTC est tenue en heure locale plutôt qu’en UTC. |
NTP signifie Network Time Protocol, un protocole de synchronisation de l’heure par le réseau. Les services réellement employés et leur configuration dépendent de la distribution. La simple présence de timedatectl ne garantit pas l’accès à systemd et à ses services, par exemple dans un conteneur.
Consulter des propriétés pour un script
Pour obtenir des champs nommés au lieu de parser la présentation humaine de status :
timedatectl show -p Timezone -p NTPSynchronized
Exemple de sortie possible, à comparer à votre propre machine :
Timezone=Asia/Seoul
NTPSynchronized=yes
NTPSynchronized=yes signifie que le noyau rapporte l’heure comme synchronisée. Cela ne vérifie ni chaque serveur de temps ni l’ensemble du réseau. Un état no demande un examen du service et de ses sources ; il ne suffit pas à identifier la cause d’un problème. Les propriétés vides peuvent être omises et les versions anciennes peuvent proposer moins de fonctions : vérifiez man timedatectl et le statut de sortie de la commande.
Pour seulement formater l’heure, la commande date permet de choisir un format et UTC sans changer les réglages globaux.
Préparer et appliquer un changement de fuseau
Sur une machine que vous administrez, vérifiez d’abord les conséquences pour les journaux et les tâches planifiées. Relevez l’ancien fuseau et les informations RTC avant toute modification. Dans le même shell :
old_timezone=$(timedatectl show -p Timezone --value) || exit 1
[ -n "$old_timezone" ] || exit 1
printf '%s\n' "$old_timezone"
timedatectl status
timedatectl list-timezones
Conservez le nom initial dans votre relevé d’intervention si le shell doit être fermé. list-timezones donne les identifiants disponibles ; si un pager s’ouvre, quittez-le avec q. Asia/Seoul est ici un exemple précis : choisissez une entrée adaptée à votre système et à la politique prévue.
sudo timedatectl set-timezone Asia/Seoul
timedatectl show -p Timezone
timedatectl status
Après une réussite, la propriété doit être Timezone=Asia/Seoul. Changer de fuseau modifie la représentation locale d’un même instant, sans demander un nouveau réglage de l’horloge système en UTC. Si la RTC est configurée en heure locale, timedatectl ajuste aussi cette RTC pour le nouveau fuseau.
Pour revenir au fuseau relevé, dans le shell où la variable existe encore :
sudo timedatectl set-timezone "$old_timezone"
timedatectl show -p Timezone
Ce retour concerne le fuseau seulement. Il ne restaure pas d’éventuelles modifications séparées du service de temps ou des applications.
Gérer la synchronisation avec le service approprié
Après identification du fournisseur de synchronisation et validation de la politique d’administration, la commande suivante demande l’activation de la synchronisation réseau disponible :
sudo timedatectl set-ntp true
timedatectl status
Cette demande active et démarre le premier service existant dans la liste des services connus de systemd-timedated. Elle ne garantit pas un état synchronisé immédiat. Vérifiez ensuite le service effectivement choisi, sa configuration, ses journaux et l’accès aux sources de temps. N’installez ni n’activez un second fournisseur par réflexe si la distribution utilise déjà un service dédié.
La sous-commande set-ntp false désactive et arrête les services de synchronisation connus : ce n’est pas un simple effacement d’un indicateur. Un retour à une configuration initiale doit reprendre le relevé des services et de leurs réglages, plutôt que déduire toute cette configuration d’un unique yes/no.
Si le fournisseur est systemd-timesyncd et que votre version propose cette commande, consultez ses détails ainsi :
timedatectl timesync-status
Cette sous-commande est propre à systemd-timesyncd ; un échec ne prouve pas que tout autre fournisseur NTP est défaillant. La sous-commande set-time règle réellement l’horloge et peut entrer en conflit avec la synchronisation. Ne l’utilisez pas pour corriger seulement un fuseau ou une présentation d’heure. Le manuel recommande de maintenir la RTC en UTC lorsque c’est possible, car son maintien en heure locale complique les changements saisonniers.
Le manuel timedatectl de systemd décrit les commandes et leurs portées. La documentation de l’interface systemd-timedated précise le sens des propriétés de fuseau et de synchronisation.




