date +% s glitches

5

Eu tenho um problema estranho que estou começando a solucionar e me pergunto se alguém teria alguma dica útil.

Eu tenho um cronjob executado a cada minuto que executa um script e acrescenta a saída a um arquivo em um arquivador. O trabalho imprime o registro de data e hora atual desde a data (data +% s) e o tempo de atividade atual da atividade (incluindo a hora atual do sistema) para um arquivo.

O script é:

DATE='date +%s'
UPTIME='uptime'
echo "$DATE;$UPTIME"

E o que eu recebo é:

1325770921; 14:42:01 up 17 days
1325775379; 14:43:01 up 17 days
1325771041; 14:44:01 up 17 days

Observe como o timestamp no meio está a ~ 1 hora e 15 minutos de folga ... alguma ideia sobre a causa?

    
por RnR 05.01.2012 / 17:02

2 respostas

1

Você menciona nos comentários que está executando uma máquina virtual. As máquinas virtuais devem ter um cliente NTP em execução continuamente corrigindo a hora e a data corretas. Se você não fizer isso, a interação entre o relógio do hardware físico e o relógio virtual pode ficar confusa e o tempo irá se arrastar.

Realmente, o todo sistema deve executar o NTP, mas em máquinas virtuais é crítico, em vez de apenas recomendado.

Ambientes Linux e BSD devem ter ambos NTPd e OpenNTPd disponíveis; você não mencionou qual ambiente está usando.

    
por 10.01.2012 / 18:05
0

Dependendo da sua VM, pode ser que o relógio Guest esteja vinculado ao hosts .

Por favor, verifique

cat /sys/devices/system/clocksource/clocksource0/available_clocksource
cat /sys/devices/system/clocksource/clocksource0/current_clocksource

Veja o link após o título 'clocksource / 0: o tempo foi para trás'. Ele fornece uma solução alternativa para tentar, caso aconteça em uma VM do Xen.

Tivemos um tempo engraçado pulando com eles e, dependendo da idade do seu dom0 e do quão novos são os seus convidados domU, tivemos que usar xen e jiffies para fazer o tempo se comportar e poder para realmente usar o ntp nos convidados.

    
por 22.01.2012 / 13:42