Comment régler l'heure, le fuseau horaire et synchroniser l'horloge sous Linux
Dans cet article, apprenez à régler l'heure, le fuseau horaire et à synchroniser l'horloge de votre système Linux avec NTP en utilisant timedatectl, systemd-timesyncd et chrony. :
La commande « timedatectl » est un utilitaire pour les distributions basées sur RHEL et Debian, et elle fait partie du gestionnaire de systèmes et de services « systemd », servant de remplacement à l’ancienne commande date traditionnelle utilisée dans les distributions Linux à base de démon « sysvinit ».
La commande timedatectl vous permet de consulter et de modifier la configuration de l'horloge système et de ses paramètres. Vous pouvez utiliser cette commande pour définir ou modifier la date, l'heure et le fuseau horaire actuels, ou activer la synchronisation automatique de l'horloge système avec un serveur NTP distant.
Dans ce tutoriel, je vais vous montrer comment gérer le temps sur votre système Linux en réglant la date, l'heure, le fuseau horaire et en synchronisant l'heure avec NTP depuis le terminal en utilisant timedatectl, systemd-timesyncd et chrony.
Il est toujours recommandé de maintenir l'heure correcte sur votre serveur ou système Linux, ce qui peut offrir les avantages suivants :
- Assurez le bon fonctionnement des tâches système en temps voulu, car la plupart des tâches sous Linux sont contrôlées par le temps.
- Heure exacte pour enregistrer les événements et autres informations sur le système.
- Synchronisation appropriée pour les systèmes et applications distribués.
- Essentiel pour les protocoles de sécurité comme Kerberos et la validation des certificats SSL/TLS.
Comment trouver et définir le fuseau horaire local sous Linux
1. Pour afficher l'heure et la date actuelles sur votre système, utilisez la commande timedatectl depuis la ligne de commande comme suit :
timedatectl status
Dans la sortie ci-dessus, l'heure RTC correspond à l'heure de l'horloge matérielle.
2. L'heure sur votre système Linux est toujours gérée via le fuseau horaire défini sur le système. Pour voir votre fuseau horaire actuel, faites comme suit :
timedatectl
OR
timedatectl | grep Time
3. Pour afficher tous les fuseaux horaires disponibles, exécutez la commande ci-dessous :
timedatectl list-timezones
4. Pour trouver le fuseau horaire local selon votre emplacement, exécutez la commande suivante.
timedatectl list-timezones | egrep -o "Asia/B.*"
timedatectl list-timezones | egrep -o "Europe/L.*"
timedatectl list-timezones | egrep -o "America/N.*"
5. Pour définir votre fuseau horaire local dans Linux, nous utiliserons l'option set-timezone comme indiqué ci-dessous.
sudo timedatectl set-timezone "Asia/Kolkata"
timedatectl status
Il est toujours recommandé d'utiliser et de régler l'heure universelle coordonnée, UTC.
sudo timedatectl set-timezone UTC
timedatectl status
Vous devez saisir le nom de fuseau horaire correct, sinon vous pourriez rencontrer des erreurs lors du changement de fuseau horaire. Dans l'exemple suivant, le fuseau horaire « Asia/Kolkata » n’est pas correct, ce qui provoque l’erreur.
failed to set time zone: invalid timezone
Comment régler l'heure et la date dans Linux
Vous pouvez régler la date et l'heure de votre système en utilisant la commande timedatectl comme suit :
Régler l'heure dans Linux
6. Pour régler uniquement l'heure, nous pouvons utiliser un interrupteur set-time avec le format de l'heure en HH:MM:SS (Heure, Minute et Seconde).
sudo timedatectl set-time 12:25:30
timedatectl status
Vous pourriez recevoir l'erreur suivante lorsque vous définissez la date comme indiqué ci-dessus :
Failed to set time: Automatic time synchronization is enabled
L'erreur se produit parce que la synchronisation automatique de l'heure (NTP) est activée, ce qui empêche les modifications manuelles de l'heure.
Pour le réparer, désactivez d'abord le NTP, puis réglez l'heure.
sudo timedatectl set-ntp false
sudo timedatectl set-time 12:25:30
timedatectl status
7. Pour définir à la fois la date et l'heure, utilisez l'option set-time avec le format de la date en AAAA-MM-JJ (Année, Mois, Jour) et l'heure en HH:MM:SS (Heure, Minute et Secondes) :
sudo timedatectl set-time '2026-01-23 12:25:30'
Comment trouver et régler l'horloge matérielle dans Linux
8. Pour régler votre horloge matérielle à l’heure universelle coordonnée, UTC, utilisez l’option set-local-rtc boolean-value comme suit :
Commencez par vérifier si votre horloge matérielle est réglée sur le fuseau horaire local :
timedatectl | grep local
Réglez votre horloge matérielle selon le fuseau horaire local :
sudo timedatectl set-local-rtc 1
Réglez votre horloge matérielle sur l'heure universelle coordonnée (UTC) :
sudo timedatectl set-local-rtc 0
Remarque : Il n'est pas recommandé de régler le RTC sur l'heure locale, car cela peut causer des problèmes avec les ajustements liés à l'heure d'été. Il est donc préférable de conserver le RTC en UTC.
Synchronisation de l'horloge système Linux avec un serveur NTP distant
NTP signifie Network Time Protocol et est un protocole Internet utilisé pour synchroniser l'horloge système entre les ordinateurs.
L'utilitaire timedatectl vous permet de synchroniser automatiquement l'horloge de votre système Linux avec un groupe de serveurs distants en utilisant NTP.
La plupart des distributions Linux modernes utilisent différentes implémentations pour la synchronisation NTP :
- systemd-timesyncd : un client SNTP (Simple NTP) léger intégré à systemd, qui convient à la plupart des configurations de bureau et des serveurs uniques.
- chrony : Une implémentation NTP complète qui peut fonctionner à la fois comme client et serveur. Elle gère mieux les connexions réseau intermittentes et est plus précise.
Utilisation de systemd-timesyncd
Pour démarrer la synchronisation automatique de l'heure avec un serveur NTP distant, tapez la commande suivante dans le terminal, ce qui activera et démarrera le service systemd-timesyncd.
sudo timedatectl set-ntp true
Pour désactiver la synchronisation de l'heure NTP, tapez la commande suivante dans le terminal.
sudo timedatectl set-ntp false
Pour vérifier l'état de la synchronisation :
timedatectl status
Vous devriez voir « Horloge système synchronisée : oui » et « Service NTP : actif ».
Utilisation de chrony (recommandé pour les serveurs)
Si vous exploitez un serveur ou avez besoin d'une synchronisation horaire plus fiable, chrony est le meilleur choix, et il est particulièrement efficace pour :
- Systèmes qui ne fonctionnent pas en continu (ordinateurs portables, ordinateurs de bureau).
- Les serveurs nécessitent une grande précision.
- Systèmes avec connectivité réseau intermittente.
- Environnements regroupés où la cohérence temporelle est essentielle.
Tout d'abord, installez chrony (si ce n'est pas déjà fait) :
sudo apt install chrony [On Debian-based systems]
sudo dnf install chrony [On RHEL-based systems]
Remarque : L'installation de chrony désactivera automatiquement systemd-timesyncd afin d'éviter les conflits.
Après l'installation, activez, démarrez et vérifiez l'état de la synchronisation :
sudo systemctl enable --now chronyd
timedatectl status
Pour utiliser vos propres serveurs NTP au lieu de ceux par défaut, vous devez modifier le fichier de configuration de Chrony.
sudo nano /etc/chrony/chrony.conf
OR
sudo nano /etc/chrony/sources.d/custom.sources
Ajoutez vos serveurs NTP préférés (vous pouvez obtenir une liste de serveurs NTP sur le projet NTP Pool).
pool 0.pool.ntp.org iburst
pool 1.pool.ntp.org iburst
pool 2.pool.ntp.org iburst
Redémarrez chrony après les modifications :
sudo systemctl restart chronyd
Notes importantes sur la synchronisation NTP
- Vous ne pouvez pas exécuter plusieurs implémentations NTP simultanément, choisissez donc soit systemd-timesyncd, soit chrony.
- systemd-timesyncd est une implémentation client uniquement et ne peut pas fournir l'heure à d'autres systèmes.
- chrony peut agir à la fois comme client de temps et serveur de temps pour votre réseau local.
- Pour les serveurs de production et l'infrastructure critique, chrony est généralement recommandé plutôt que systemd-timesyncd.
- NTP nécessite que le port UDP 123 soit ouvert pour les connexions sortantes.
Résumé
Ce sont des exemples très simples décrits dans ce tutoriel et j'espère que vous les trouverez utiles pour configurer différentes horloges et fuseaux horaires sur Linux.
Pour en savoir plus sur cet outil, consultez la page de manuel de timedatectl.
man timedatectl
Si vous avez quelque chose à dire sur cet article, n'hésitez pas à laisser un commentaire pour ajouter plus d'informations.










