/etc/ntp.confファイルからNTPサーバーを取得し、NTP経由で日付を更新する1行のコードが必要です。特に、手動コマンドが常に機能するわけではなく、ファイアウォールルールのために/etc/ntpd.conf内のすべてのサーバーにアクセスできるわけではありません。
service ntpd stop, ntpdate ntp1host, service ntpd start
これは一般的な慣行になります。デーモンを終了せずにNTPを介して時間更新を強制するコマンドはありますか?
答え1
これはとても悪い考えです。説明します。
このntp
デーモンはシステムクロックを制御すると予想されます。起動時に許可されている場合は、時計をスキップして、時間がリモートタイムサーバーが提供する時間に近づくようにします。その後、システムクロックで生成された現地時間とリモートで提供される現地時間を定期的に比較して、ローカル時計をより速くまたは遅く調整して同期を維持します。
同期には2つのレベルがあります。
- リモートタイムサーバーと比較して時計を正確に保つ
- 長い時間、ローカルクロックが十分に制御され、インターネット接続なしでおおよその正確な時間を維持することができます。
時計をジャンプしたり、時計を設定して(使用ntpdate
または手動で)新しいトランジションを導入した場合は、#2の長期計算が中断され、時計の規律が厳しすぎて以前よりも顕著な損失または利得がある可能性があります。現実、久しぶりだ。これが発生した場合、唯一の実際の回避策は終了し、ntp
参照調整ファイルを削除してからサーバーを強制的に再起動することです。本当。
続けたい場合は、以下を試してください。
ntpdate -u $(awk '$1=="server" {print $2}' /etc/ntp.conf)
しかし、ntp
いずれにせよ、実行中は使用をお勧めしません。。
答え2
うーん…残念ながらそのような機能はないようです。
このWikiページ(https://support.ntp.org/bin/view/Dev/DeprecatingNtpdate)マイグレーションに関して、そのような機能は文書化されていないようです(まだ?)。