프로그래밍 방식으로 Linux 시스템 시간 업데이트

프로그래밍 방식으로 Linux 시스템 시간 업데이트

나는 3~4개의 서로 다른 Linux Ubuntu 시스템으로 구성된 시스템을 가지고 있으며 시간을 동기화할 수 있기를 원합니다. 내 계획은 그 중 하나(마스터라고 부르자)를 NTP 서버로 사용하여 나머지 3개 머신(슬레이브라고 부르자)에 시간을 제공하는 것입니다.

하지만 먼저 호스트로부터 UTC 시간을 가져오고 싶고 온라인 서버를 사용하는 것은 옵션이 아닙니다(인터넷 없음).

현재 C++를 통해 차량 GPS 장치에서 UTC 시간을 읽고 있습니다. C++ 및 GPS에서 제공하는 UTC 시간을 사용하여 이 프로세서의 시스템 시간을 설정한 다음 NTP를 사용하여 이 시간을 다른 모든 하위 PC와 동기화할 수 있습니까?

답변1

쉬운 방법은 date 명령을 사용하는 것입니다.

date -s @<seconds-since-1970>

C++에서 이 작업을 수행하려면 을 참조하세요 man settimeofday.

답변2

예, 가능할 뿐만 아니라 비교적 간단합니다. 여러 가지 "실행" 및 튜토리얼이 제공됩니다.참고문헌 1,참고문헌 2이 작업을 수행하는 방법이 표시됩니다.

다른 생각들:

  1. 사용을 고려해보세요chronyd바꾸다 ntpd.OpenNTPd사실을 무시한다는 점을 제외하면 좋은 선택이 될 것입니다.윤초...하지만 그것에 대해 신경쓰지 않는다면 사용과 관리가 간단합니다.

  2. GPS 시간 정확도는 수신기마다 약간씩 다를 수 있습니다.

관련 정보