Archives pour le mot-clé «heure»

Synchronisation de l’horloge via NTP

Ces ins­truc­tions, valables pour Sola­ris 10, devraient égale­ment l’être pour Open­So­la­ris. Les remarques concer­nant l’usage de ntp et ntp­date sont égale­ment valables pour Linux.

La syn­chro­ni­sa­tion de l’horloge de la machine est réa­li­sée grâce à NTP, le « Net­work Time Pro­to­col ». Il faut com­men­cer par créer le fichier /etc/inet/ntp.conf et spé­ci­fier une adresse IP (pas de host­name !) de ser­veur avec lequel il faut synchroniser.

server 192.168.1.1

Il reste à acti­ver le service.

# svcadm enable svc:/network/ntp

Il est vive­ment décon­seillé de syn­chro­ni­ser direc­te­ment avec la com­mande ntp­date dans un cron car :

  1. ntp­date ne syn­chro­nise pas l’horloge de la machine avec l’heure du système.
  2. On sur­charge les ser­veurs car tous les clients vont se syn­chro­ni­ser simul­ta­né­ment à cause du cron. Le dea­mon ntp syn­chro­nise quant à lui de manière aléatoire.
  3. Le dae­mon ntp uti­lise des algo­rithmes sophis­tiqués et de la sta­tis­tique afin de déter­mi­ner la dérive de l’horloge (le « drift ») et peut com­pen­ser même si le réseau tombe.
  4. Le dae­mon cor­rige de manière conti­nue, par petits incré­ments. ntp­date change l’heure de manière bru­tale et cer­tains ser­vices risquent de ne pas appré­cier (Oracle, SAP…)
  5. La vali­dité de l’heure sys­tème n’est pas garan­tie entre deux ntpdate.

Par contre, ntp­date peut être uti­lisé pour la syn­chro­ni­sai­ton ini­tiale de l’heure ainsi que lors du boot. La syn­taxe est :

# ntpdate 192.168.1.1

Note : L’activation du ser­vice ntp pro­voque auto­ma­tique­ment l’appel de cette commande.

Heure système décalée

Symp­tômes : Après avoir véri­fié votre zone horaire avec

#cat /etc/timezone

ainsi que l’état de la variable “UTC” dans /etc/default/rcS, l’heure sys­tème est toujours décalée.

Le pro­blème peut venir des scripts d’initialisation invoquant la com­mande hwclock, ser­vant à lire et à sau­ve­gar­der l’horloge de la machine.

Méthode de test :

#hwclock --localtime

Si vous obte­nez une erreur de ce genre à la place de l’heure :

select() to /dev/rtc to wait for clock tick timed out

Rées­sayez avec :

#hwclock --directisa --localtime

Si cela fonc­tionne, il faut modi­fier les scripts d’initialisation :

   Edit the files
   /etc/init.d/hwclock.sh
   /etc/init.d/hwclockfirst.sh
   and change the line (about line #23):

   HWCLOCKPARS=

   to read:

   HWCLOCKPARS="--directisa"

Expli­ca­tion de l’option “–directisa” :

--directisa   is  meaningful  only on an ISA machine or an Alpha (which imple‐
              ments enough of ISA to be, roughly speaking, an ISA machine  for
              hwclock’s  purposes).   For  other  machines,  it has no effect.
              This option tells hwclock to use explicit  I/O  instructions  to
              access  the  Hardware  Clock.  Without this option, hwclock will
              try to use the /dev/rtc device (which it assumes to be driven by
              the rtc device driver).  If it is unable to open the device (for
              read), it will use the explicit I/O instructions anyway.

              The rtc device driver was new in Linux Release 2.