I have cronjobs setup to be run daily on my Ubuntu server.
eg. 0 4 * * * command
They are running except they are running 8 hours early. When setting up the server, it was originally set to UTC time. I ran sudo dpkg-reconfigure tzdata
to set the server to CST which is 6 hours behind UTC. Interestingly, I am in PST which is 8 hours behind UTC but I don't see how the server could know that.
If I run the command date
, it shows the time in CST.
There must be some place that the time is configured wrong. Where can I look to solve this?
Did you remember to restart cron after changing your time zone? If not, cron may still have its old notion of the time zone from when it was originally started.
While not strictly necessary I usually suggest rebooting a machine after changing the time zone -- A server's time zone shouldn't ever change (or at least it should be VERY infrequent), and this guarantees that every program on the server has been restarted and knows about the change :-)
For me, I found that when I run the
hwclock
command the time was an hour different than when I ran thedate
command. To fix that you can callhwclock --systohc
which will sync the two times and run the cronjobs at the expected time.On Ubuntu 20 restart the cron daemon with:
sudo service cron restart