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_release

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

의 출력 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

답변1

crontab 상단에 다음을 추가하면 이 문제를 해결할 수 있습니다.

CRON_TZ=Europe/Berlin

/etc/localtime또한 올바르게 설정되었는지 확인할 수도 있습니다 .

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

이유는 잘 모르겠지만 문제가 해결되지 않으면 다른 사용자가 곧 와서 더 많은 도움을 줄 것이라고 확신합니다.

관련 정보