사용자가 (단일) NTP 서버 주소를 구성 할 수있는 임베디드 OpenSUSE 12.3 시스템에서 작업하고 있습니다. 특정 서버와 통신하는 방법에 대한 사용자 피드백을 제공 할 수 있어야합니다. 서버 주소가 유효합니까? NTP가 서버에 접속할 수 없습니까? 서버에 쿼리하고 있습니까? 아니면 완전히 동기화 되었습니까? (참고 : NTP 그때는 그것이 동기화하는 방법 다만 걱정하지 않는다 동기라고 생각하면.)NTP 통신 상태를 결정하는 방법
을 지금 내가 작성한 bash는 스크립트를 ntpq -np
의 출력을 구문 분석 :
- 출력하는 경우를 출력은 출력이
".INIT."
다음 NTPD는 아직 서버 - O를 만약에 연결되지 않은이 포함 된 경우
"No association ID's returned"
는 다음 서버 주소가 - 무효가 포함되어있는 경우 다음 NTPD는
- 를 실행하지 않는
"ntpq: read: Connection refused"
포함 utput은"*"
으로 시작하는 행을 포함하지 않으며 서버를 쿼리합니다. - 그렇지 않으면 우리는 동기화됩니다.
분명히 말하지만, 이것은 뒤쪽의 고통이며 플랫폼에 크게 좌우됩니다. 더 나은 솔루션을 원합니다.
외부 응용 프로그램에서 사용할 수있는 빌드 된 ntp 소스 트리 안에 libntpq.a가 있지만 공식 릴리스가있을 때까지는 플랫폼 의존성에 대한 새로운 전환으로 바뀌 었음을 이해합니다.
NTP 클라이언트의 현재 통신 상태를 확인하는 공식 방법이 있습니까? 단 하나의 서버 만 구성됩니다.
이것은 좀 더 포괄적 인/집중 도구의 기초가 될 수 있지만 현재는 시작일뿐입니다. 찾기 힘들다. 그러나 다른 답변은 없습니다 ... 당신은 이것이 애매한 필요는 아니라고 생각할 것입니다 ... –