Oi Alexandre,
muito boa a tua idéia, mas tem dois probleminhas. Vamos ver se achamos a
solução:
1) Usando o ntpd, ele calcula quanto tempo a máquina ficou desligada,
usa a variável DRIFT e compensa o relógio antes de comer a ajustar.
- Isso quer dizer que o drift medido será maior que o real, um servidor
como o meu tem um drift de 350 ppm e então num feriadão de 5 dias o
ntpd
vai automáticamente corrigir um erro de 151 segundos!
- o maior erro permitido é de 1000 segundos, então o número acima não
tem problema
- o ntpd usa só uma fonte e se ela estiver fora do ar não vai
funcionar.
Usar mais de um e avaliar um dos melhores seria um script muito
interessante...
2) O script que você mandou não funciona na minha maquina (Mdk10.0)
porque a resposta não é igual:
# ntpdate -q 192.168.0.121 2>&1
Looking for host 192.168.0.121 and service ntp
host found : 192.168.0.121
server 192.168.0.121, stratum 3, offset 0.032531, delay 0.02599
28 Oct 12:27:02 ntpdate[3093]: adjust time server 192.168.0.121 offset
0.032531 sec
???
Alain
Alexandre Vieira Santos escreveu:
> a opção -q faz isso :
>
> sudo ntpdate -q ntp.cais.rnp.br
> Looking for host ntp.cais.rnp.br and service ntp
> host found : titan.cais.rnp.br
> server 200.144.121.33, stratum 2, offset -0.154475, delay 1.05510
> 28 Oct 01:43:41 ntpdate[23874]: adjust time server 200.144.121.33
offset
> -0.154475 sec
>
> Filtrado fica :
>
> ntpdate -q ntp.cais.rnp.br 2>&1 | sed -n '$s/^.*offset..\([^ ][^ ]*\)
> .*/\1/p'
>
> retornando
> 0.154475
>
> o $ no sed é pra dar match só com a última linha, daà em diante é
> comparar o número de segundos com o máximo permitido pela sua
> implementação de ntpd e gerar o " alerta "
>
> sei lá, por exemplo :
> DRIFT=$( ntpdate -q ntp.cais.rnp.br 2>&1 | sed -n '$s/^.*offset..\([^
> ][^ ]*\) .*/\1/p' )
> [ $DRIFT -ge 300 ] && echo "warning : time sync out of range"
>
> deve resolver.
>
> SDS
>
> rafael.nery wrote:
>
>
>>Uma peculiaridade do ntpd é que se ele estiver com o relógio muito
>>defasado em relação aos servidores
>>de tempo que ele usará, ele não inicia. Nesse caso, é preciso um
>>ajuste manual antes, via ntpdate, para depois iniciar o ntpd.
>>Bom... o ntpdate consegue dar essa informação sem ajustar o relógio,
>>ou coisa assim?
>>Tem uma maneira de identificar se o relógio do micro está mais que X
>>minutos diferente que um dado servidor NTP para criar um script-alarme
>>para ser configurado no netsaint?
>>
>>[]s
>>Rafael
>>
>>
>>
>>---------------------------------------------------------------------
>>Esta lista não admite a abordagem de outras liguagens de
programação,
>>como perl, C etc. Quem insistir em não seguir esta regra será
moderado
>>sem prévio aviso.
>>---------------------------------------------------------------------
>>Sair da lista: address@hidden
>>---------------------------------------------------------------------
>>Esta lista é moderada de acordo com o previsto em
>>http://www.listas-discussao.cjb.net
>>---------------------------------------------------------------------
>>
>>
>>
>>*Yahoo! Grupos, um serviço oferecido por:*
>>
>>
>>------------------------------------------------------------------------
>>*Links do Yahoo! Grupos*
>>
>> * Para visitar o site do seu grupo na web, acesse:
>> http://br.groups.yahoo.com/group/shell-script/
>>
>> * Para sair deste grupo, envie um e-mail para:
>> address@hidden
>>
<mailto:address@hidden?subject=Unsubscribe>
>>
>> * O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
>> Serviço do Yahoo! <http://br.yahoo.com/info/utos.html>.
>>
>>
>
>
>
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de
programação, como perl, C etc. Quem insistir em não seguir esta
regra será moderado sem prévio aviso.
> ---------------------------------------------------------------------
> Sair da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
>
> Links do Yahoo! Grupos
>
>
>
>
>
>
>
>
>
---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de
programação, como perl, C etc. Quem insistir em não seguir esta
regra será moderado sem prévio aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
*Yahoo! Grupos, um serviço oferecido por:*
PUBLICIDADE
------------------------------------------------------------------------
*Links do Yahoo! Grupos*
* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/
* Para sair deste grupo, envie um e-mail para:
address@hidden
<mailto:address@hidden?subject=Unsubscribe>
* O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
Serviço do Yahoo! <http://br.yahoo.com/info/utos.html>.