O NTP já tem mecanismos para saber se está online ou offline, e mudará para fontes de prioridade mais baixa, conforme necessário. É muito fácil verificar o valor de alcance para acionar uma fonte alternativa, mas eu ficaria com o NTP. Conforme discutido abaixo, o monitoramento e a correção da deriva RTC provavelmente será difícil.
Nos dias anteriores à Internet, usei um programa que ligava para uma fonte de dados e sincronizava o relógio. Pode ainda haver serviços disponíveis que forneçam uma fonte de tempo através de um modem. Isso exigiria o acesso a uma linha telefônica.
Existem problemas conhecidos com o relógio local, que não se aplicam ao RTC. Alguns dos problemas estão documentados na lista de NTP Known OS Issues . Estes podem ser responsáveis pelo seu desvio do relógio. Resolvê-los pode resolver seu problema. Na ausência de carrapatos perdidos, descobri que a fonte de tempo local (sistema) pode ser muito estável.
Você pode usar o driver do relógio Dumb (33) com um programa que grava a hora RTC apropriada no dispositivo / dev / dumbclockX.
Existem vários outros drivers baseados em relógios de rádio. Alguns deles usam serviços de ondas curtas, como WWV e CHU, que podem funcionar em ambientes onde os sinais de GPS não estão disponíveis. Para a Europa, esta lista incluiria BBC, TDF, RBU e RMW.
Pavel Krejci também escreveu um driver RTC, mas não parece estar incorporado aos pilotos oficiais. Isso pode funcionar com a sincronização do tipo PPS.
Deve ser possível medir o desvio do RTC antes da implantação. No entanto, você precisará garantir que o RTC não esteja sendo atualizado automaticamente. Quando o relógio do sistema é atualizado com a função adjtimex, o RTC pode ser atualizado a cada 11 minutos.
O NTP atualizará o relógio quando estiver conectado. Normalmente, o NTP se recusará a fazer grandes ajustes no relógio do sistema. Existem opções para ajustar o quanto o relógio pode ser ajustado.
Eu sugeri opções para usar o RTC acima. Um rádio relógio pode ser mais adequado que um relógio GPS.
Medir a deriva na ausência de uma fonte de tempo confiável para compará-la é provavelmente um esforço fútil. Se a hora local estiver instável, você não poderá usá-la para monitorar o RTC e vice-versa. Medir o desvio enquanto o NTP está conectado não funcionará se o kernel estiver atualizando o RTC a cada 11 minutos. Os RTCs que eu usei têm uma resolução de um segundo, então eles teriam que se deslocar significativamente para serem mensuráveis de forma confiável.