Por que o crontab está usando um fuso horário diferente do meu fuso horário local?

Por que o crontab está usando um fuso horário diferente do meu fuso horário local?

Meu crontab parece

PATH=/RunCloud/Packages/apache2-rc/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

# some commands here

A saída datedo terminal é que Sun 11 Sep 2022 03:00:00 PM CEST eu configurei um cron 5 3 * * * echo date > /home/time.txt, mas ele não é executado às 03:00 do horário do servidor

Para testar o crontab e seu fuso horário, eu fiz

* * * * * echo date > /home/time.txt 

ele é executado com sucesso e gera o mesmo horário/fuso horário como se eu digitasse dateo comando no terminal

Isso significa que minha sintaxe do cron está correta e os fusos horários são iguais para o crontab e o terminal. O que poderia estar errado então?

A saída de lsb_releaseé

Distributor ID: Ubuntu
Description:    Ubuntu 20.04.3 LTS
Release:        20.04
Codename:       focal

A saída de timedatectlé

               Local time: Sun 2022-09-11 15:44:51 CEST
           Universal time: Sun 2022-09-11 13:44:51 UTC
                 RTC time: Sun 2022-09-11 13:44:50
                Time zone: Europe/Berlin (CEST, +0200)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

Responder1

Você pode corrigir isso colocando isto no topo do seu crontab:

CRON_TZ=Europe/Berlin

Você também pode verificar se /etc/localtimeestá configurado corretamente:

ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime

Quanto ao motivo, não tenho certeza, tenho certeza de que outros usuários aparecerão em breve e ajudarão você mais se isso não corrigir o problema.

informação relacionada