Почему crontab использует часовой пояс, отличный от моего местного часового пояса?

Почему crontab использует часовой пояс, отличный от моего местного часового пояса?

Мой кронтаб выглядит так

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

Вывод dateиз терминала: Sun 11 Sep 2022 03:00:00 PM CEST Я установил cron 5 3 * * * echo date > /home/time.txt, но он не запускается в 03:00 по времени сервера.

Чтобы протестировать crontab и его часовой пояс, я сделал

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

он успешно выполняется и выводит то же время/часовой пояс, как если бы я ввел dateкоманду в терминале

Это означает, что мой синтаксис cron правильный и часовые пояса одинаковы для crontab и терминала. В чем может быть проблема?

Выход из lsb_releaseis

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

Выход из timedatectlis

               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

решение1

Вы можете исправить это, поместив это в начало вашего crontab:

CRON_TZ=Europe/Berlin

Вы также можете проверить /etc/localtimeправильность настроек:

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

Что касается причины, я не уверен, но уверен, что другие пользователи скоро придут и помогут вам, если это не решит проблему.

Связанный контент