Vous avez peut-être configuré des tâches cron qui s'exécute à un moment précis pour sauvegarder des fichiers importants ou effectuer des tâches liées au système. Ou, vous avez peut-être configuré un serveur de journaux pour faire pivoter les journaux hors de votre système à intervalles réguliers. Si votre horloge n'est pas synchronisée, ces tâches ne s'exécuteront pas au bon moment. C'est pourquoi il est important de configurer un fuseau horaire correct sur les systèmes Linux et de synchroniser l'horloge avec Internet. Ce guide décrit comment configurer la synchronisation de l'heure sur Ubuntu Linux. Les étapes ci-dessous ont été testées sur Ubuntu 18.04, mais elles sont identiques pour les autres systèmes basés sur Ubuntu qui utilisent timesyncd de systemd services.
Configurer la synchronisation de l'heure sur Ubuntu
Habituellement, nous définissons le fuseau horaire lors de l'installation. Vous pouvez cependant le modifier ou définir un fuseau horaire différent si vous le souhaitez.
Tout d'abord, voyons le fuseau horaire actuel dans notre système Ubuntu en utilisant la commande "date":
$ date
Exemple de résultat :
Tue Jul 30 11:47:39 UTC 2019
Comme vous le voyez dans la sortie ci-dessus, la commande "date" affiche la date réelle ainsi que l'heure actuelle. Ici, mon fuseau horaire actuel est UTC qui signifie Temps universel coordonné .
Alternativement, vous pouvez rechercher le /etc/timezone fichier pour trouver le fuseau horaire actuel.
$ cat /etc/timezone UTC
Voyons maintenant si l'horloge est synchronisée avec Internet. Pour ce faire, lancez simplement :
$ timedatectl
Exemple de sortie :
Local time: Tue 2019-07-30 11:53:58 UTC Universal time: Tue 2019-07-30 11:53:58 UTC RTC time: Tue 2019-07-30 11:53:59 Time zone: Etc/UTC (UTC, +0000) System clock synchronized: yes systemd-timesyncd.service active: yes RTC in local TZ: no
Comme vous pouvez le voir, la commande "timedatectl" affiche l'heure locale, l'heure universelle, le fuseau horaire et si l'horloge système est synchronisée avec les serveurs Internet et si le systemd-timesyncd.service est actif ou inactif. Dans mon cas, l'horloge système se synchronise avec les serveurs de temps Internet.
Si l'horloge n'est pas synchronisée, vous verrez "Horloge système synchronisée :non" comme indiqué dans la capture d'écran ci-dessous.
La synchronisation de l'heure est désactivée.
Remarque : La capture d'écran ci-dessus est ancienne. C'est pourquoi vous voyez la date différente.
Si vous voyez "Horloge système synchronisée : valeur définie sur non , le service timesyncd est peut-être inactif. Alors, redémarrez simplement le service et voyez si cela vous aide.
$ sudo systemctl restart systemd-timesyncd.service
Vérifiez maintenant l'état du service timesyncd :
$ sudo systemctl status systemd-timesyncd.service ● systemd-timesyncd.service - Network Time Synchronization Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2019-07-30 10:50:18 UTC; 1h 11min ago Docs: man:systemd-timesyncd.service(8) Main PID: 498 (systemd-timesyn) Status: "Synchronized to time server [2001:67c:1560:8003::c7]:123 (ntp.ubuntu.com)." Tasks: 2 (limit: 2319) CGroup: /system.slice/systemd-timesyncd.service └─498 /lib/systemd/systemd-timesyncd Jul 30 10:50:30 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab Jul 30 10:50:31 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab Jul 30 10:50:31 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab Jul 30 10:50:32 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab Jul 30 10:50:32 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab Jul 30 10:50:35 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab Jul 30 10:50:35 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab Jul 30 10:50:35 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab Jul 30 10:50:35 ubuntuserver systemd-timesyncd[498]: Network configuration changed, trying to estab Jul 30 10:51:06 ubuntuserver systemd-timesyncd[498]: Synchronized to time server [2001:67c:1560:800
Si ce service est activé et actif, votre horloge système doit se synchroniser avec les serveurs de temps Internet.
Vous pouvez vérifier si la synchronisation de l'heure est activée ou non à l'aide de la commande :
$ timedatectl
Si cela ne fonctionne toujours pas, exécutez la commande suivante pour activer la synchronisation de l'heure :
$ sudo timedatectl set-ntp true
Maintenant, votre horloge système se synchronisera avec les serveurs de temps Internet.
Modifier le fuseau horaire à l'aide de la commande Timedatectl
Que se passe-t-il si je souhaite utiliser un fuseau horaire différent de l'UTC ? C'est facile !
Tout d'abord, listez les fuseaux horaires disponibles à l'aide de la commande :
$ timedatectl list-timezones
Vous verrez une sortie similaire à l'image ci-dessous.
Lister les fuseaux horaires à l'aide de la commande timedatectl
Vous pouvez définir le fuseau horaire souhaité (par exemple, Asie/Kolkata) à l'aide de la commande :
$ sudo timedatectl set-timezone Asia/Kolkata
Vérifiez à nouveau si le fuseau horaire a bien été modifié à l'aide de la commande "date" :
$ date Tue Jul 30 17:52:33 IST 2019
Ou, utilisez la commande timedatectl si vous voulez la sortie détaillée :
$ timedatectl Local time: Tue 2019-07-30 17:52:35 IST Universal time: Tue 2019-07-30 12:22:35 UTC RTC time: Tue 2019-07-30 12:22:36 Time zone: Asia/Kolkata (IST, +0530) System clock synchronized: yes systemd-timesyncd.service active: yes RTC in local TZ: no
Comme vous l'avez remarqué, j'ai changé le fuseau horaire de UTC à IST (heure standard indienne).
Pour revenir au fuseau horaire UTC, exécutez simplement :
$ sudo timedatectl set-timezone UTC
Changer de fuseau horaire à l'aide de Tzdata
Dans les anciennes versions d'Ubuntu, la commande Timedatectl n'est pas disponible. Dans de tels cas, vous pouvez utiliser Tzdata (Données de fuseau horaire) pour configurer la synchronisation de l'heure.
$ sudo dpkg-reconfigure tzdata
Choisissez la zone géographique dans laquelle vous habitez. Dans mon cas, j'ai choisi l'Asie . Sélectionnez OK et appuyez sur la touche ENTRÉE.
configurer le fuseau horaire à l'aide de la commande tzdata
Sélectionnez ensuite la ville ou la région correspondant à votre fuseau horaire. Ici, j'ai choisi Kolkata .
configurer le fuseau horaire à l'aide de tzdata
Enfin, vous verrez une sortie comme ci-dessous dans le terminal.
Current default time zone: 'Asia/Kolkata' Local time is now: Tue Jul 30 19:29:25 IST 2019. Universal Time is now: Tue Jul 30 13:59:25 UTC 2019.
Configurer le fuseau horaire en mode graphique
Certains utilisateurs peuvent ne pas être à l'aise avec la méthode CLI. Si vous êtes l'un d'entre eux, vous pouvez facilement modifier tout cela à partir du panneau des paramètres système en mode graphique.
Appuyez sur la super touche (Touche Windows), tapez paramètres dans le tableau de bord Ubuntu et cliquez sur Paramètres icône.
Lancer les paramètres du système à partir du tableau de bord Ubuntu
Vous pouvez également cliquer sur la flèche vers le bas située dans le coin supérieur droit de votre bureau Ubuntu et cliquer sur l'icône Paramètres dans le coin gauche.
Lancer les paramètres du système à partir du panneau supérieur
Dans la fenêtre suivante, choisissez Détails puis cliquez sur Date et heure option. Activez à la fois la date et l'heure automatiques et fuseau horaire automatique options.
Définir le fuseau horaire automatique dans Ubuntu
Fermez la fenêtre Paramètres et vous avez terminé ! Votre horloge système devrait maintenant se synchroniser avec les serveurs de temps Internet.