J'essaie de synchroniser l'heure entre l'heure locale et RTC. J'ai DS3231 RTC, j'ai suivi un guide pour installer et configurer l'OS pour l'utiliser, RTC fonctionne, mais le temps sans internet est de 2 heures en arrière. Mon fuseau horaire est GMT+2 et il est correctement défini dans /etc/localtime. Lorsque NTP fonctionne, tout va bien. Sortie de timedatectl :

   Local time: Mon 2019-11-18 11:42:28 EET
  Universal time: Mon 2019-11-18 09:42:28 UTC
        RTC time: Mon 2019-11-18 09:42:29
       Time zone: Etc/UTC (EET, +0200)
 Network time on: yes
NTP synchronized: yes
 RTC in local TZ: no

Lorsque je débranche le câble ethernet et redémarre framboise, l'heure locale passe automatiquement de 11h42 à 9h42

Comment résoudre ce problème? Merci.

PS : j'ai essayé avec ce script shell de saisir manuellement l'heure du RTC :

newhour=$(date +%T --date '2 hours');
curdate=$(date '+%d %b %Y')
settime="$curdate $newhour"
echo $settime
sudo hwclock --set --date "$settime"

Mais NTP corrige la valeur stockée dans RTC...

-1
Tsvetomir Tsvetanov 20 nov. 2019 à 16:09

1 réponse

Meilleure réponse

Bienvenue sur stackoverflow!

Pour définir le fuseau horaire de votre système d'exploitation dans la configuration du système, vous devez le définir avec timedatectl. Par exemple pour la Bulgarie vous devez entrer

sudo timedatectl set-timezone Europe/Sofia

Pour le vérifier, vous pouvez faire un

cat /etc/timezone

Vous devriez maintenant toujours avoir le bon fuseau horaire (UTC+2 ou UTC+3 pour l'heure d'été en Bulgarie), que vous ayez ou non une connexion Internet établie.

NTP est juste utilisé pour synchroniser perpétuellement l'heure du système avec un serveur de temps.

J'espère que cela t'aides!

0
digijay 1 déc. 2019 à 06:48