プログラムでLinuxシステム時間を更新する

プログラムでLinuxシステム時間を更新する

私は3〜4つの異なるLinux Ubuntuシステムで構成されており、時間を同期できるようにしたいと思います。私の計画は、そのうちの1つ(マスターと呼ぶ)を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変えるntpdOpenNTPd事実を無視することを除いて、良い選択になります。ユンチョ...しかしそれを気にしない限り、使用と管理は簡単です。

  2. GPS時間精度は、受信機によって多少異なる場合があります。

関連情報