問題タブ [ntpd]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ntp - ntpdate - 同期に適したサーバーが見つかりません
私はntpに取り組んでいます。システムの日付を更新するには、外部 NTP サーバーに接続する必要があります。問題は、ntpd デーモンが常にローカル クロック (127.127.1.0) を使用しており、ntp.conf で提供した NTP サーバーを使用していないことです。123.108.225.6 を NTP サーバーとして使用しており、この IP に対して ping を実行できます。テストの目的でntpdateを実行しましたが、次の結果が得られました。
「オリジンタイムスタンプ」に時間がかかっているのは奇妙だと思います。私のローカルシステム時間ではありません。
発信タイムスタンプ: 00000000.00000000 1899 年 12 月 31 日 18:00:00.000
ntp.conf
disable stats server 123.108.225.6 server 127.127.1.0 # local clock fudge 127.127.1.0 stratum 10
ドリフトファイル /etc/ntp/drift
解決策を見つけるのに多くの時間を費やしましたが、成功しませんでした。私を助けてください !!
c++ - 1PPS信号によるNTPD同期
C++ アプリケーションと連携する AHRS (姿勢見出し参照システム) があります。AHRS からイーサネット経由で 50Hz のメッセージ ストリームを受信し、このメッセージの一部として UTC 時刻を取得します。私のシステムでは、組み込みネットワークのタイム サーバーとして NTPD も実行されます。AHRS には、UTC の 2 回目のロールオーバー時間を示す 1PPS 出力もあります。NTPD 時刻を UTC と同期させたいと思います。いくつかの調査の結果、シリアル ポートを 1PPS の入力として利用する手法があることがわかりました。私が見つけた限りでは、これらの手法は GPSD を使用して 1PPS を読み取り、NTPD と通信してシステム時刻を同期させています。ただし、GPSD は GPS からの NMEA 形式のメッセージを予期しています。私はそれを持っていません。
現在の見方では、オプションのアプローチがいくつかあります。
GPSD を使用しないでください。1PPS を読み取り、イーサネット メッセージに UTC が含まれているプログラムを作成し、何らかの方法でこの情報を NTPD に伝達します。
GPSD を使用します。イーサネット メッセージを再パッケージ化して GPSD に送信できるプログラムを作成し、NTPD とのやり取りを処理させます。
他の何か?
どんな提案でも大歓迎です。
編集: この不十分に構成された質問をお詫びします。
この問題に対する私の解決法は次のとおりです。2 - カスタム C++ アプリケーションを作成して、UTC を含むイーサネット メッセージを読み取り、そこから UTC を含む NMEA メッセージを作成します。3 - NMEA メッセージを GPSD にフィードします。GPSD は、NTPD とインターフェイスして、GPS/1PPS 情報をシステム時間と同期させます。
python - ntpdによってデフォースされたpythonフラスコサーバーポート
フラスコを使用してPythonで実装されたレストサーバーがあります。そして、再起動するAPIntpd
を実装します。
コード test_flask.py:
次に、次のように操作しました。
- フラスコサーバーを起動します: python test_flask.py
- curl " http://localhost:5000/restart_ntpd。次に ntpd を再起動して "success" を返す
- フラスコサーバーを停止します: Ctrl+c を使用して停止します
- フラスコ サーバーを再起動すると、例外が発生します。
socket.error: [Errno 98] アドレスは既に使用されています。
- use
sh $ netstat -ntlp | grep 5000
、ポートはによって deforced されましたntpd
はデフォルトでポート 123ntpd
を使用すると思います。私のシーンで、ポート 5000が強制解除されるのはなぜですか? フラスコの問題ですか?ntpd
linux - Linux-NTP Leap Seconds : うるうファイルを適用する時間を短縮
NTP プロセスを作成し、うるう秒ファイルを現在よりも速く適用する方法はありますか?
CLOCK_TAI に依存するアプリケーションを作成しています。tai_offset が設定されていない場合にアプリケーションの実行を許可するのは誤りです。
Ubuntu 14.04 を使用して、うるう秒ファイル ( http://www.ietf.org/timezones/data/leap-seconds.list ) をインストールし、それを使用するように ntp (4.2.6p5) を構成しました。
CLOCK_TAI と CLOCK_REALTIME を比較するテスト プログラムを使用すると、新しい構成で ntp を再起動してから tai_offset が変更されるまでに 4 分以上かかることがわかりました。
この時間を大幅に短縮したいと考えています。
ntpd - 以下の機能が必要な場合、ntpdate の正しい代替手段は何ですか?
ntpdate
は推奨されていないためntpd -gq
、ほとんどの場合、同じ目的を果たします。を使用ntpdate
すると、エラーが発生します
同期に適したサーバーが見つかりません
間違ったホスト名/IP を指定した場合は終了します。
この機能は ではまだ利用できませんntpd
か? つまり、ntpd -gq
(無効な/実行されていない ntp) サーバーから応答が得られなかった場合に終了します。
synchronization - Gpsd 間違ったタイミング
みんなでエヒラ!
私はこの問題を抱えています:
私が働いている会社の古い GPS-Sirf/NMEA モジュールを使用して、GPSD で ntp (今のところ私のラップトップで) を提供しています。
Ntpd のことは忘れましょう.. gpsd を開始するとすぐに、日付と時刻は gpsmon で正確ですが、 ntpshmmonを実行すると、「Real」とタグ付けされた列に負の時間 (秒で約 -69 年) が表示されます。私のSHMのクロック情報であると仮定します(「Clock」列は実際に受信した情報です)
モジュールを変更して U-blox をすべて使用しても問題はなく、SHM クロックは +46 年に戻ります。NTP を使用して GPS 情報交換を管理する方法はありますか? または、GPS モジュールが何であるかを正確に知らずに GPS を設定するには?
私の質問がある種の風通しの良い妖精である場合は申し訳ありません...誰かが同じ問題を抱えていて、手がかりを検出できることを願っています...
どうも!:)
フロリダ州
linux - データ損失を回避するために増分タイムリープを行う方法
背景 : こんにちは。現在、古い Linux SBC システムを使用しています。古くて機能が制限されていたBusyBox v1.00-rc2を使用しています。(いいえ、アップグレードはオプションではありません)。この SBC には複数のセンサーが接続されており、値とタイムスタンプが記録されています。
問題 : 数年後、RTC が実際の時間からずれ、一部の SBC が実際の時間から 1 時間以上 (遅く) 遅れます。
ntp サーバーで単純に ntpdate を実行することはできません。時間のジャンプが発生し、データ監視ログに大きなギャップが生じるためです。受け入れられません。
解決策: 次のような bash スクリプトを作成しました。
- SBC および ntp サーバーで ntp オフセットを確認します。
- 次に、オフセットを変数に記録します
- たとえば、オフセット値が 7 より大きい場合 (60 秒のオフセット)、スクリプトはdate -sコマンドを使用して、システム クロックを少しずつ増やします。
- 1時間ごとに最大60秒しか増加しません
- 例 :
- SBC 時間は 2016 年 4 月 4 日 14:59:00 です
- ntp サーバーからの実際の時間は 15:00:00 2016 年 4 月 4 日です。
- ntpdate -q -4 utcnist2.colorado.eduを使用する と、 60 秒のオフセットで返されます
- したがって、私のスクリプトは450 秒ごとに 7 秒しか増加しません
- このロジックにより、SBC 時間は2016 年 4 月 4 日 16:04:17頃に ntp 時間に追いつきます。
- 問題は、このスクリプトが時間を段階的にゆっくりと調整することですが、時々、それがうまくいかず、SBC 時間が実際の時間 ( Ntp時間) と比較して速くなり、これがデータ損失の原因となります (サーバーは失敗します)。 SBC 時間がサーバー時間より速い場合は受け入れます)。
質問:
- これに似た増分時間ジャンプを行う他の方法はありますか?
- ntpdate には時間の増分更新を行う -B 関数があることに気付きましたが、SBC ではこれを使用できませんでした。このスイッチを使用する正しい方法は何ですか? または、機能を誤解していましたか?
- adjtimex はこの目的を達成できますか?
- 必要な場合は、ここに私の完全な bash スクリプトを示します (ここに貼り付けるには長すぎます)。
http://pasted.co/65beb3db [パスワード: 123456]
embedded-linux - 現地時間更新の syslog エントリ
ローカル (クライアント) 時間 wrt サーバーを更新するときは、ntpd デーモンの syslog エントリが必要です。
私の beagonebone syslog を調べたところ、サーバーに関する ntpd の以下のエントリが見つかりました。
ntpd が現地時間を更新するときのログのリードと、ログがどのように見えるか?
注:ntpq -p
やのようなクエリには興味がありませんntpstat
。