comment vérifier si NTP a ajusté l'heure système sous Linux?

17

J'ai une machine qui a eu quelques problèmes avec certaines des choses que je fais en temps réel. Un des problèmes que j'ai est que le démon NTP peut avoir déplacé l'heure, provoquant de faux délais.

Comment savoir si le démon NTP a effectivement déplacé le temps? Des journaux? Je vois le démon NTP redémarrer dans / var / log / messages, mais je ne sais pas si l'ajustement de l'heure doit également être effectué.

pour clarifier: je dois le comprendre à partir des journaux, après l'événement. Peut-être 2 jours après que l'heure a été ajustée. Exécuter des commandes pour voir l'état actuel n'aide pas.

n-alexander
la source

Réponses:

8

Vous pouvez utiliser ntpdc -c sysinfo commande pour interroger le statut ntpd. Il retourne une sortie similaire à ceci:

system peer:          0.0.0.0
system peer mode:     unspec
leap indicator:       11
stratum:              16
precision:            -20
root distance:        0.00000 s
root dispersion:      338.44917 s
reference ID:         [73.78.73.84]
reference time:       00000000.00000000  Thu, Feb  7 2036  8:28:16.000
system flags:         auth monitor ntp kernel stats
jitter:               0.000000 s
stability:            0.000 ppm
broadcastdelay:       0.003998 s
authdelay:            0.000000 s
Janne Pikkarainen
la source
4

Le fichier de dérive (/ var / lib / ntp / drift) ne fait pas mesurer la différence entre l'heure locale et l'heure calculée par ntpd en fonction des serveurs de temps contactés.

Au lieu de cela, il s'agit de la dérive estimée (erreur de fréquence) de l'horloge locale (en ppm). Cette valeur est mise à jour par ntpd une fois par heure et ne diminue pas avec le temps.

Autant que je sache, la valeur est utilisée par ntpd après un redémarrage pour estimer l’erreur de l’horloge locale (celle-ci fonctionne même lorsque la machine est hors tension).

Exemple: Contenu du fichier: 5 La machine a été mise hors tension un jour (86400 s) 5 ppm de 86400 est 0,432 = & gt; L'horloge locale est à 0.432 s "dans le futur"

Les points sont:   - ntpd peut maintenant appliquer une première correction approximative à l'heure locale (-0,432 s) immédiatement après le démarrage   - ntpd sait immédiatement combien l’horloge locale est erronée (dans cet exemple: 5 ppm)

(Je ne suis pas autorisé à commenter le commentaire de Sirex, alors j'ai ajouté un nouveau commentaire)

Martin Schneeweis
la source
3

vous devriez avoir une valeur dans le fichier drift. Son emplacement sera dans votre /etc/ntp.conf

par exemple: "driftfile / var / lib / ntp / drift"

ce fichier est utilisé pour enregistrer la distance entre votre horloge et ce qu'elle devrait être, et lentement, ntp devrait abaisser cette valeur à mesure que le temps passe. - Cela ne se fera pas en une fois car cela pourrait causer des problèmes d'horodatage sur le système.

Sirex
la source
c'est une bonne information, merci. Cependant, une fois que le temps a été déplacé, ce sera 0 et j'aurai perdu mes informations. Ntp n’enregistre-t-il pas de messages pour me dire que c’est fait?
n-alexander
3

ntpq -nc peers vous montrera votre statut de synchronisation avec tous les pairs.

BillThor
la source
2

Désolé, c'est un vieux fil de discussion - espérons que je n'ai pas enfreint de règle ici :)

Dans /etc/ntp.conf, j'ai une ligne qui ressemble à ceci:

#statsdir /var/log/ntpstats/

La description dit de décommenter cette ligne pour enregistrer les statistiques. Je viens juste de configurer ntp sur notre serveur, je ne suis donc pas sûr de ce qu'il enregistre, mais je me suis retrouvé ici à chercher les mêmes informations, alors j'espère que cela aidera quelqu'un d'autre.

dsl101
la source