ntpd vs ntpdate: avantages et inconvénients

20

Afin de garder l'heure exacte sur un système Ubuntu, on peut soit:

  • Exécutez le ntpd(démon de protocole de temps réseau) qui s'exécutera tout le temps et ajustera continuellement l'heure du système lorsque les horloges dériveront. Ou bien:
  • Appeler ntpdatepériodiquement (par exemple depuis cron)

Des questions:

  • Quels sont les avantages et les inconvénients de chacune de ces deux méthodes?
  • Quels scénarios différents nécessitent de choisir l'un plutôt que l'autre?
arielf
la source

Réponses:

25

ntpdate est obsolète depuis septembre 2012; apparemment, ntpd a maintenant la possibilité de faire des mises à jour ponctuelles si nécessaire, et ntpdate est basé sur du code ntpd "longtemps négligé". (Des nouvelles pour moi, car mon système a ntpdate mais pas ntpd! Je vais corriger cela actuellement; merci d'avoir posé cette question.)

Quant à la différence entre les mises à jour continues et les mises à jour périodiques, je pense que les compromis là-bas sont ce que vous attendez; les ajustements continus maintiennent une meilleure précision dans le temps, ce qui peut être important pour les bases de données et MailDir (voir le même lien). Mais bien sûr, cela nécessiterait un peu plus de trafic réseau (probablement négligeable pour l'échange de simples horodatages) ainsi qu'une connexion réseau toujours en ligne, une légère consommation de RAM et de CPU, etc. Mais tous ces inconvénients sont minuscules dans un environnement informatique moderne; dans l'ensemble, je doute qu'il existe de bonnes raisons de remplacer cron par ntpd.

Paul
la source
2
Merci beaucoup pour la réponse. Je ne savais pas que ntpdate était obsolète. Cela fonctionne bien pour moi depuis des années.
arielf
4

Pour autant que je comprenne le chapitre NTP des Guides de l'administrateur système Linux , «mises à jour continues» ne signifie pas que ntpd interroge constamment ses serveurs (comme une fois par seconde), mais que les corrections de temps n'introduisent pas de discontinuités.

Au lieu de simplement définir l'heure correcte, ntpdvotre horloge d'ordinateur fonctionnera légèrement plus lentement ou plus rapidement jusqu'à ce qu'elle atteigne l'heure correcte (en supposant que l'erreur n'est pas trop importante). Cela évite les problèmes avec les logiciels qui font des ravages en raison de lacunes dans le temps ou de durées négatives - la plupart des programmeurs ne s'attendront pas à ce qu'un processus se termine avant qu'il ne commence et donnant ainsi une durée négative ...

En outre, le manuel indique que ntpd apprend et compense également la dérive de l'horloge de votre ordinateur (au moins la partie constante).

Le Network Time Protocol Project a une belle FAQ ( http://www.ntp.org/ntpfaq/) expliquant NTP et comment il garde l'heure .

sruetti
la source