NTP: без hwclock, регулярно экономьте время для следующей перезагрузки
Я запускаю ntpd на плате ARM, у которой нет аппаратных часов (поэтому нет возможности сохранять время, когда оно выключено).
Проблема в том, что после перезагрузки время всегда устанавливается в эпоху Unix, пока ntpd не сможет снова выполнить синхронизацию.
Я хотел бы, чтобы ntpd регулярно сохранял текущее время в файле и повторно применял его при следующей загрузке системы. Это не будет точным, но по крайней мере это не возвращает меня к эпохе Unix при каждой перезагрузке.
Это не обязательно должен быть ntpd, может быть, другое программное обеспечение (или даже сторона ядра?) Может сделать это?
В худшем случае у меня всегда может быть сценарий init.d, но я думаю, что он уже где-то реализован надлежащим образом.
1 ответ
Установите программу 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 записал во время последней перезагрузки / завершения работы. Это означает, что вы можете иметь несколько правильные часы на случай, если при загрузке возникнут проблемы с сетью.