Comment faire pour déterminer le NTP état de la communication
Je suis en train de travailler sur un intégré à OpenSUSE 12.3 système qui permet à l'utilisateur de configurer le (seul) adresse du serveur NTP. J'ai besoin d'être en mesure de donner à l'utilisateur des commentaires sur la façon dont vont les choses en termes de communication avec le serveur spécifié. L'adresse du serveur est-elle valide? Le NTP été impossible de contacter le serveur? Est-il en interrogeant le serveur? Ou, sommes-nous entièrement synchronisé? (Remarque: une fois NTP pense qu'il est synchronisé puis je n'ai pas de soins, tout mode de synchronisation c'est).
Droit maintenant, j'ai écrit un script bash pour analyser la sortie de ntpq -np
:
- Si la sortie contient
"ntpq: read: Connection refused"
puis ntpd n'est pas en cours d'exécution - Si la sortie contient
"No association ID's returned"
ensuite l'adresse du serveur n'est pas valide - Si la sortie contient
".INIT."
puis ntpd n'a pas encore connecté au serveur - Si la sortie ne contient PAS une ligne de départ avec
"*"
alors que nous sommes en interrogeant le serveur - Sinon, nous sommes synchronisés.
Clairement, c'est une douleur à l'arrière et très dépendantes des plate-formes, et j'aimerais avoir une meilleure solution.
Je comprends qu'il y a un libntpq.a l'intérieur d'un bâti source ntp arbre qui peut être utilisé par des applications externes, mais jusqu'à il y a une version officielle, alors que c'est juste le passage à une nouvelle saveur de la plate-forme de dépendance.
Est-il un moyen officiel pour déterminer le courant de l'état de la communication d'un client NTP? A noter encore qu'un seul serveur sera configuré.
OriginalL'auteur Daniel Griscom | 2014-04-22
Vous devez vous connecter pour publier un commentaire.
Comment sur ntpstat, serait-ce pour vous? Voici la sortie/les valeurs de retour de la commande lorsqu'il est exécuté:
Découvrez la page Vérifiez que mon NTP fonctionne
OriginalL'auteur Ciano
Une autre option est d'utiliser le protocole ntp-commande d'attente. ntp-attente est normalement utilisé dans les scripts de démarrage qui ont besoin de l'heure du système à être synchronisés avant d'effectuer d'autres tâches. Si vous passez l'option -- verbose ntp-attendez, il permet d'imprimer l'état et d'erreur ou si la synchronisation échoue. Vous pouvez aussi dire ntp-attendre combien de temps à attendre pour que la synchronisation avant de retourner une erreur.
Contrairement à ntpstat ntp-attente est fournie par le ntp de référence de mise en œuvre en s'appuyant sur il est plus portable que d'attendre ntpstat à être installé.
ntpq -c "rv 0 state"
, mais il n'est pas de faire un bon travail de celui-ci (par exemple, le courant de sortie de cette commande ntpq est***A request variable unknown to the server
, mais ntp-attendre que le code de vérification pourrequest variable was unknown
). Alors, je ne sais pas ce qui est avec qui.OriginalL'auteur dfc