Por que os cronjobs estão sendo executados na hora errada?

9

Eu tenho a configuração do cronjobs para ser executada diariamente no meu servidor Ubuntu.

por exemplo. 0 4 * * * comando

Eles estão em execução, exceto que eles estão sendo executados com oito horas de antecedência. Ao configurar o servidor, ele foi originalmente configurado para o horário UTC. Eu corri sudo dpkg-reconfigure tzdata para definir o servidor para CST, que é de 6 horas atrás do UTC. Curiosamente, estou no PST, que está 8 horas atrás do UTC, mas não vejo como o servidor poderia saber disso.

Se eu executar o comando date , ele mostrará o horário no CST.

Deve haver algum lugar em que a hora esteja configurada incorretamente. Onde posso procurar resolver isso?

    
por Matt McCormick 04.02.2011 / 17:19

2 respostas

16

Você se lembrou de reiniciar o cron depois de alterar seu fuso horário? Caso contrário, o cron ainda pode ter sua antiga noção do fuso horário de quando foi originalmente iniciada.

Embora não seja estritamente necessário, geralmente sugiro reiniciar uma máquina depois de mudar o fuso horário - O fuso horário de um servidor nunca deve mudar (ou pelo menos deve ser MUITO infrequente), e isso garante que todo programa no servidor foi reiniciado e sabe sobre a mudança: -)

    
por 04.02.2011 / 17:29
4

Para mim, descobri que, quando eu executo o comando hwclock , a hora era uma hora diferente de quando eu executei o comando date . Para corrigir isso, você pode chamar hwclock --systohc , que irá sincronizar os dois tempos e executar os cronjobs no horário esperado.

    
por 26.02.2014 / 17:35