web-dev-qa-db-ja.com

NTP:hwclockなしで、次の再起動のために定期的に時間を節約します

ハードウェアクロックがないARMボードでntpdを実行しています(したがって、オフのときに時間を維持する方法はありません)。

問題は、再起動後、ntpdが再び同期できるようになるまで、時刻が常にUNIXエポックに設定されることです。

私が欲しいのは、ntpdが定期的に現在の時刻をファイルに保存し、次のシステム起動時にそれを再適用することです。正確ではありませんが、少なくとも再起動するたびにUNIXエポックに戻るわけではありません。

それは必ずしもntpdである必要はありません、多分別のソフトウェア(あるいはカーネル側でさえ?)はこれをすることができますか?

最悪のシナリオ私はいつでもinit.dスクリプトにこれを実行させることができますが、これはすでにどこかで適切な方法で実装されていると思います。

1
Ely

Fake-hwclockプログラムをインストールします。

# apt-get install fake-hwclock


fake-hwclock: Save/restore system clock on machines without working RTC hardware

 Some machines don't have a working realtime clock (RTC) unit, or no
 driver for the hardware that does exist. fake-hwclock is a simple set
 of scripts to save the kernel's current clock periodically (including
 at shutdown) and restore it at boot so that the system clock keeps at
 least close to realtime. This will stop some of the problems that may
 be caused by a system believing it has travelled in time back to
 1970, such as needing to perform filesystem checks at every boot.

 On top of this, use of NTP is still recommended to deal with the fake
 clock "drifting" while the hardware is halted or rebooting.

Fake-hwclockがインストールされていると、マシンは1970年だと思って起動しなくなります。マシンが起動すると、最後の再起動/シャットダウン中に書き込まれたタイムスタンプfake-hwclockにクロックが設定されます。これは、起動時にネットワークの問題が発生した場合に備えて、ある程度正しいクロックを使用できることを意味します。

2
dfc