Cron job in a different timezone

后端 未结 5 903
情深已故
情深已故 2020-12-31 05:27

Is there a way of setting up a cronjob for a specific timezone?

My shared hosting is in USA (Virginia) and I am in UK. If I set a cron job to be executed at 1600 hrs

相关标签:
5条回答
  • 2020-12-31 05:32

    You can use the CRON_TZ environment variable, excerpt from man 5 crontab on a CentOS 6 server:

    The CRON_TZ specifies the time zone specific for the cron table. User type into the chosen table times in the time of the specified time zone. The time into log is taken from local time zone, where is the daemon running.

    So if you add this at the top of your cron entry:

    CRON_TZ=Europe/London
    

    You should be good.

    0 讨论(0)
  • 2020-12-31 05:39

    On Ubuntu 18.08

    host@machine$crontab -e
    

    then enter

    TZ=Asia/Kolkata 
    

    Note:- Replace Asia/Kolkata with your desire timezone

    0 讨论(0)
  • 2020-12-31 05:47

    If you want to set different timezone for your particular cronjob, execute crontab -evia ssh and add

    TZ=Europe/Moscow
    

    before every cronjob.

    Full article here

    0 讨论(0)
  • 2020-12-31 05:50

    I think that you should check

    /etc/default/cron
    

    or just type

    Crontab cronfile
    

    and you should find

    TZ=UTC
    

    This should be changed (for example America/New_York). Second way is set in cron example

    5 2 3 * * TZ="America/New_York" /do/command > /dev/null 2>&1
    
    0 讨论(0)
  • 2020-12-31 05:59

    To expand on AlexT's answer:

    CRON_TZ="Europe/London"
    

    is the answer.

    p.s. If anyone is here looking for timezone fixes for GoDaddy, I recommend putting...

    export TZ="Europe/London"
    

    ...in your .bashrc so that your console runs in your timezone.

    0 讨论(0)
提交回复
热议问题