Corrigindo o relógio do sistema CentOS

11

O uso da função time C (número de segundos desde a época) mostra que o tempo no meu servidor atual do CentOS 6 está cerca de 7 horas atrasado em comparação com outro servidor com o tempo correto. Como posso corrigir o relógio do sistema? Eu não acho que seja um desvio, porque acabei de configurar este servidor há algumas semanas, mas poderia ser. Eu configurei o ntpd, mas não está ajudando, talvez porque a diferença de horário seja excessiva.

user3180
fonte
3
Verifique a saída do comando TZ=UTC date.
Michael Hampton
1
você está certo, o ntpd não corrigirá essa diferença de horário. Para que o ntpd realmente funcione, seu sistema deve estar dentro de alguns minutos do servidor de horário.
fpmurphy
30 Nov 2013 09:09:21 UTC 2013 é a saída que eu acabei de obter
user3180
Sim, isso é sete horas atrás.
Michael Hampton

Respostas:

23

A resposta simples é "definir a data manualmente", o que você precisa fazer, mas para impedir que isso ocorra novamente, há mais que você deve fazer.

  1. Verifique se a configuração do fuso horário do sistema está em um estado saudável.

    A menos que haja um motivo muito forte para não fazer isso (como problemas de compatibilidade de software), os relógios do servidor sempre devem ser executados no horário UTC.

    Se você decidir não usar o UTC, escolha um fuso horário executando tzselect. Um fuso horário será impresso na tela que você usará abaixo. Um exemplo seria Europe/Moscow. Caso contrário, use UTCcomo o fuso horário abaixo.

    Here is that TZ value again, this time on standard output so that you
    can use the /usr/bin/tzselect command in shell scripts:
    Europe/Moscow
    

    Defina o relógio do sistema para o fuso horário desejado, seguindo as seguintes etapas:

    1. Substitua o conteúdo de /etc/sysconfig/clockcom o seguinte:

      ZONE="<timezone>"
      UTC=true
      

      Por exemplo:

      ZONE="Europe/Moscow"
      UTC=true
      

      Observe que UTC=truedeve ser definido aqui, mesmo se você não usar o UTC como fuso horário. Refere-se ao relógio de hardware do servidor, que sempre deve ser UTC, independentemente do fuso horário do sistema escolhido.

    2. Substitua o /etc/localtimearquivo por um link para o fuso horário selecionado:

      # ln -snf /usr/share/zoneinfo/<timezone> /etc/localtime
      

      Por exemplo:

      # ln -snf /usr/share/zoneinfo/Europe/Moscow /etc/localtime
      # ln -snf /usr/share/zoneinfo/UTC /etc/localtime
      
  2. Acerte o relógio manualmente para a hora atual.

    1. Sincronize o relógio do sistema com a hora atual:

      # ntpd -g -q
      
    2. Verifique se a hora parece correta:

      # date
      
    3. Sincronize o relógio de hardware do servidor com o relógio do sistema:

      # hwclock -wu
      
  3. Reinicie o computador. A reinicialização é necessária porque todos os serviços do sistema devem ser reiniciados para selecionar a hora e o fuso horário corrigidos, e o relógio de hardware do servidor precisa ser testado (por exemplo, uma bateria com defeito).

    Após a reinicialização, verifique se o sistema mostra a hora correta e se o ntpd está sendo executado corretamente.

Michael Hampton
fonte
Muito obrigado Michael. Como garantir que ele esteja correto durante a instalação? Lembro-me de selecionar o fuso horário correto, mas o horário continua errado.
usar o seguinte comando
No instalador gráfico, há uma caixa de seleção informando "O relógio do sistema usa o UTC". Sempre deixe esta opção marcada, independentemente do fuso horário selecionado.
Michael Hampton
0

A questão é garantir que o fuso horário seja o mesmo das caixas que você está comparando

EDITAR

se TZ é diferente

/ etc / localtime

lembre-se de levar em consideração o deslocamento UTC ao comparar a hora do sistema

nandoP
fonte