Exemplo de problema:
* 9 * * * echo 9
* 10 * * * echo 10
Os itens acima enviarão um e-mail para o usuário a cada minuto, mas todas as respostas "9" ocorrerão às 10:00 AM - > 10:59 AM, enquanto os "10" entrarão às 11:00 AM e às 11:59 AM.
Executando um trabalho de
* * * * * /bin/date ; /bin/date -u
Retornou a data e a hora esperadas (corretas). isso era verdade tanto para a UTC quanto para a hora local (América / Denver). Alterar este trabalho para executar a cada minuto em uma hora específica resulta no deslocamento (trabalhos relatados para executar em 9 corridas em 10, etc etc).
Depuração atual que concluí:
Ok, isso é estranho. Talvez meu arquivo de fuso horário esteja de alguma forma bagunçado? Vamos verificar se
diff -s /etc/localtime /usr/share/zoneinfo/'cat /etc/timezone'
Files /etc/localtime and /usr/share/zoneinfo/America/Denver are identical
Eu verifiquei o relógio do hardware para ver se isso está desativado ou de alguma forma não concorda com minhas configurações locais (executadas como root).
date ; hwclock
Wed Oct 26 10:50:13 MDT 2016
Wed 26 Oct 2016 10:50:14 AM MDT -0.204171 seconds
Parece estar desligado por um segundo, mas isso não deve fazer com que minhas tarefas do cron executem uma hora inteira fora do horário, certo?
Também tenho certeza do seguinte:
- O meu fuso horário mudou recentemente? Não
- Você tentou corrigir manualmente o fuso horário? Sim
- Você redefiniu o cron depois de corrigir o fuso horário? Sim
- Eu me certifiquei de que o serviço cron foi reiniciado? Sim
- Eu reiniciei o serviço cron? Sim
- Tem certeza de que o cron foi reiniciado? 100% de certeza que o Cron foi reiniciado
Outras informações potencialmente relevantes:
Executando o Debian.
cat /etc/debian_version
8.6
Kernel atual
uname -a
Linux BigBox 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt25-2 (2016-04-08) x86_64 GNU/Linux
Debug atualizado:
Ran 'hwclock --systohc', mudanças não visíveis no comportamento. Ran este comando para verificar
date;hwclock
Wed Oct 26 12:39:09 MDT 2016
Wed 26 Oct 2016 12:39:11 PM MDT -0.875328 seconds
Não consigo executar o 'cat / etc / sysconfig / clock' porque esse arquivo não existe. Executar um comando find sob o / etc / tree para encontrar 'clock' confirma que não tenho nenhum arquivo com esse nome.
Verificado para ver se qualquer coisa que conheço definiu a variável CRON_TZ. Não é definido no nível do usuário nem no nível das raízes. Faça com que o cron os faça ecoar sem saída.