¿Por qué crontab utiliza una zona horaria diferente a mi zona horaria local?

¿Por qué crontab utiliza una zona horaria diferente a mi zona horaria local?

Mi crontab se 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

La salida datede la terminal es que Sun 11 Sep 2022 03:00:00 PM CEST configuré un cron 5 3 * * * echo date > /home/time.txtpero no se ejecuta a las 03:00 de la hora del servidor.

Para probar crontab y su zona horaria, hice

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

se ejecuta correctamente y genera la misma hora/zona horaria que si escribiera dateel comando en la terminal

Esto significa que mi sintaxis cron es correcta y las zonas horarias son las mismas para crontab y terminal, ¿qué podría estar mal entonces?

La salida de lsb_releasees

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

La salida de timedatectles

               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

Respuesta1

Puedes solucionar este problema poniendo esto en la parte superior de tu crontab:

CRON_TZ=Europe/Berlin

También puedes verificar que /etc/localtimeesté configurado correctamente:

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

En cuanto a por qué, no estoy seguro, estoy seguro de que otros usuarios vendrán pronto y le ayudarán más si eso no soluciona el problema.

información relacionada