2013-05-27 3 views
1

Я хотел бы проверить, установлены ли мои аппаратные часы правильно.Как автоматически проверить hwclock?

Сначала я думал, что я буду использовать последние два поля, возвращаемых hwclock --show:

hwclock --show | awk '{print $8}' 
-0.236936 

Но позже я понял, что это НЕ разница между системными часами и аппаратными часами:

date && hwclock 
Mon May 27 17:21:34 CEST 2013 
Sat 25 May 2013 12:21:35 PM CEST -0.808630 seconds 

(Btw:. Что это число это не кажется, что дрейф аппаратных часов, так как она всегда меняется и это, кажется, не согласуется с /etc/adjtime)

Итак, вот мой вопрос: как я могу проверить разницу между системными часами и моими аппаратными часами?

Я не вижу ни одной опции «timestamp», которая могла бы упростить изложение обоих значений.

+0

Я отвечаю на свой вопрос. Я забыл, насколько велика дата GNU: hwdate = $ (hwclock | awk '{$ 8 = $ 9 = ""; print $ 0}'); echo $ (($ (date -d "$ hwdate" +% s) - $ (дата +% s))) – abitmol

ответ

0

Это выглядит следующим образом:

hwclock --compare 

будет делать то, что вы хотите. Это сравнивает системное время с часовым временем HW. Он делает это непрерывно с интервалом в 5 секунд, позволяя ему вычислять дрейф PPM между двумя часами.

Если вы используете NTP, это будет периодически обновлять RTC (каждые 11 минут, которые, как я полагаю), что повлияет на точность сравнения.