web-dev-qa-db-ja.com

ntpd vs ntpdate:長所と短所

Ubuntuシステムで時刻を正確に保つには、次のいずれかを実行できます。

  • ntpd(ネットワークタイムプロトコルデーモン)を実行します。これは常に実行され、クロックがずれたときにシステム時間を継続的に調整します。または、代わりに:
  • ntpdateを定期的に呼び出します(例:cronから)

質問:

  • これら2つの方法のそれぞれの長所と短所は何ですか?
  • どちらを選択する必要があるのでしょうか?
20
arielf

ntpdateは 非推奨 2012年9月現在;どうやらntpdは必要に応じて1回限りの更新を実行できるようになり、ntpdateは「長い間放置されていた」ntpdコードに基づいています。 (私のシステムはntpdateを持っているがntpdは持っていないので、私にとってはニュースです!私は現在それを修正します;この質問をしてくれてありがとう。)

継続的な更新と定期的な更新の違いについては、トレードオフがあると思います。継続的な調整により、長期にわたって精度が維持されます。これは、データベースとMailDirで重要になる場合があります(同じリンクを参照)。しかし、もちろん、これには、わずかに多くのネットワークトラフィック(単純なタイムスタンプの交換ではおそらく無視できる)と、常にオンラインのネットワーク接続、RAMおよびCPUのわずかな消費などが必要になります。最新のコンピューティング環境。全体として、ntpdの代わりにcronを使用する正当な理由があるとは思いません。

24
Paul

Linuxシステム管理者ガイドNTPの章 を理解している限り、「継続的な更新」とは、ntpdが常にサーバーにクエリを行うことを意味しません(1秒間に1回など)時間補正は不連続性を導入しません。

正しい時間を設定する代わりに、ntpdは、正しい時間に達するまでコンピューターのクロックをわずかに遅くまたは速く実行します(エラーが大きすぎないと仮定します)。これにより、時間のギャップや負の持続時間によるソフトウェアの大混乱の問題が回避されます-ほとんどのプログラマーは、プロセスが開始する前に終了することを期待せず、負の持続時間を与えます...

さらに、マニュアルには、ntpdがコンピューターのクロックのドリフト(少なくとも一定の部分)を学習して補正することも記載されています。

Network Time Protocol Projectには、FAQおよび 時間の保持方法 を説明するNice NTP(http://www.ntp.org/ntpfaq/)があります。

3
sruetti