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 date
de la terminal es que Sun 11 Sep 2022 03:00:00 PM CEST
configuré un cron 5 3 * * * echo date > /home/time.txt
pero 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 date
el 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_release
es
Distributor ID: Ubuntu
Description: Ubuntu 20.04.3 LTS
Release: 20.04
Codename: focal
La salida de timedatectl
es
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/localtime
esté 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.