Estou trabalhando com um aplicativo baseado na web em um sistema de teste / desenvolvimento do Ubuntu em execução no Parallels. Em datas e horas específicas (tiradas da hora do sistema), alguns eventos acontecem e as coisas são alteradas no banco de dados. (por exemplo, uma conta de usuário é bloqueada, se a senha não foi alterada por um determinado período de tempo ou o status de um objeto é alterado, se um prazo é passado, etc.)
Para poder testar cenários específicos, trabalho com instantâneos no Parallels para armazenar o estado do sistema em vários pontos-chave no tempo. Pode acontecer que, depois de vários meses, eu precise retornar a um ponto específico no tempo para testar um cenário específico sobre o estado naquela época.
Meu problema é que depois de restaurar o instantâneo, a data do sistema é como eu quero que seja (ou seja, igual ao datetime quando o instantâneo foi tirado).
Mas depois de alguns segundos a minutos, a hora do sistema muda para algum ponto no tempo entre o tempo real e o tempo esperado (instantâneo). Tenho a impressão de que está definido para o tempo que passou relativamente. Por exemplo, se eu tirei o instantâneo em 2018-02-01 (tempo real) com a data do sistema do convidado do Ubuntu sendo 2018-01-01 (tempo de convidado) e restaurei o instantâneo em 2018-03-01 (tempo real) , então o convidado do Ubuntu será eventualmente definido como 2018-02-01 (hora do convidado) após alguns minutos.
O que eu fiz até agora:
- Desligou a sincronização de horário do Parallels (de acordo com o link )
- Desinstalado
ntp
e ntpdate
- Desativado
Automatic Date&Time
e Automatic Timezone
nas configurações da área de trabalho do Ubuntu
O problema parece estar relacionado a hwclock
. Por exemplo, eu restaurei um instantâneo a partir de 2018-01-25 (hora do convidado) ontem, em 2018-05-25 (tempo real). Eu executei (imediatamente depois de restaurar o instantâneo):
date ; \
hwclock --show ; \
date -s 2018-01-26 ; \
hwclock --systohc ; \
hwclock --set --date 2018-01-26 ; \
hwclock --show ;
Isso resulta na seguinte saída:
Thu Jan 25 18:17:49 CET 2018
2018-03-09 01:01:27.249216+0100
Fri Jan 26 00:00:00 CET 2018
2018-03-09 01:01:27.775701+0100
Se eu esperar algum tempo, a hora do sistema irá eventualmente mudar para a hora do hwclock - eu não descobri o porquê. Eu também não entendo porque as tentativas de definir hwclock
time não funcionam (nenhum erro é mostrado, mas o novo horário é ignorado ...)
Por fim, também verifiquei o syslog
, mas não há sugestão sobre a data alterada. Apenas imprime uma entrada para a data antiga e a próxima entrada é com a nova data, sem indicação do que causou a alteração da data.
O que eu perdi?
P.S.
Esta é a saída de systemctl | grep time
rtkit-daemon.service loaded active running RealtimeKit Scheduling Policy Service
systemd-timedated.service loaded active running Time & Date Service
timers.target loaded active active Timers
anacron.timer loaded active running Trigger anacron every hour
apt-daily-upgrade.timer loaded active waiting Daily apt upgrade and clean activities
apt-daily.timer loaded active waiting Daily apt download activities
motd-news.timer loaded active elapsed Message of the Day
snapd.refresh.timer loaded active waiting Timer to automatically refresh installed snaps
systemd-tmpfiles-clean.timer loaded active waiting Daily Cleanup of Temporary Directories