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 every friday, then it will execute when its 1600 in Virginia.
I was wondering if I can setup my cronjob in such a way that it understands which timezone to pick. I am not too worried about daylight saving difference.
I have asked my shared hosting providers about it and they said I should be able to set the timezone in some cron ini files, but I could not find any.
All cron jobs use UTC time.
Cron by default uses UTC time zone. How to set it up to use Local time (say CST) in the cron expression (for cron schedule).
What does * mean in Cron? The asterisk * is used as a wildcard in Cron. * sets the execution of a task to any minute, hour, day, weekday, or month.
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.
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
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With