システムファイルである/etc/cron.daily/ntpupdate
が実行されていると思いますntpdate ntp.ubuntu.com
毎日、ネットワーク時間と同期します。毎日、次のような出力が生成されます。
/etc/cron.daily/ntpupdate:
16 Jan 06:30:42 ntpdate[21446]:
step time server 91.189.94.4 offset -12.646804 sec
91.189.94.4
の意味がよくわかりませんが、-12.646804 sec
はサーバーが約12秒停止していることを意味します。しかし、なぜそれが毎日ほぼ同じ量だけずれているのかはわかりません。これは、Ubuntuを実行するAmazon EC2インスタンスです。
1日あたり12秒進んでいるか、または12秒進んでいるか、または何か他の時計が12秒ずれている別の時計と時刻を同期していて、それを再同期しているとしか推測できません。
これをさらに追跡するには、どうすればよいですか? /etc/cron.*
ディレクトリやユーザーのcronジョブに他のcronジョブが表示されません...
[〜#〜]更新[〜#〜]
特定の時間に大きなジャンプがあるかどうかを確認するために、この1時間ごとに実行を開始したことを共有したいと思いました。これは、1時間ごとの出力です。
16 Jan 15:17:04 ntpdate[8346]:
adjust time server 91.189.94.4 offset -0.464418 sec
明らかに、1時間ごとに時計が約0.5秒ずれているため、毎日(24時間)時計が約12秒ずれていることは理にかなっています。時計が速く動いていると思います!ありがとう!
ソフトウェアクロックの動作を遅くしたり、速くしたりする要因はいくつかあります。仮想サーバーのクロックは、これらの問題の全体のクラスに特に傾向があります。 180〜200%の速度で動作するクロックを備えた仮想ボックスに出会うまで、1日12秒はかなり悪いです。サスペンドしているラップトップの時計も、時間管理の問題の影響を受ける可能性があります。
ntupdate
を優先してntpd
を削除することを検討してください。 Debianではパッケージ名はntp
です(おそらくUbuntuもそうです)。 NTPデーモンは、cronジョブよりもはるかに積極的に時刻を同期させ、他の1つ以上のNTPサーバーと同期し、クロックをより正確に保ちます。ntpdate
が時間を継続的に監視することを除いて、これはntpd
が使用する同じプロトコルの別の実装です。
ntpd
の(非常に小さな)オーバーヘッドが必要ない場合は、ntpdate
を1時間に1回実行することを検討してください。あなたが毎時間0.5秒オフであると仮定すると、それで十分でしょう。
これがなぜ起こっているのかについてのあなたの質問の残りの半分に答えてください:コンピューターのハードウェアクロックは悪名高いほど不正確であるため、1日の12秒のずれは珍しいですが、実際にはそれほど珍しいことではありません。
(これはおそらくネットワーク時間の使用が普及しているためです。そのため、1日12秒のドリフトでさえ、時計の場合と比べてわずかな不快感であり、ハードウェア会社は安価なクロックチップを使用できます。物理的には、おそらく、クロックチップの発振器が適切に調整されていないため、動作はわずかですが確実に遅くなります。