1

I have a Debian Linux server, recent install. It has this cron job:

7 1 * * *       /do/something/important.sh

As I read that, it should run at 1:07am. Instead, it runs at 5:07pm.

So, wrong timezone, right? No...I'm in US/Pacific and:

# ls -l /etc/localtime
lrwxrwxrwx 1 root root 30 Mar  5 20:29 /etc/localtime -> /usr/share/zoneinfo/US/Pacific
# date
Fri Mar  9 16:54:52 PST 2012

That is the right time as I post this.

Now, cron did run for a couple days with the wrong timezone (default was MST). I fixed that by changing /etc/localtime. I also restarted cron (/etc/init.d/cron restart). I've local-gen'd, too.

That job is running at 17:07 Pacific time consistently...something else I missed?

3
  • Tough one. Tried reinstating the crontab, yet? i.e. add another cronjob to force it to reload the crontab.
    – juwi
    Mar 10, 2012 at 1:38
  • Added a date piped to a tempfile to run at 6pm...checked back and it hadn't fired.
    – raindog308
    Mar 10, 2012 at 4:05
  • Would've been to simple... Does the user maybe still have a different local timezone?
    – juwi
    Mar 10, 2012 at 4:16

2 Answers 2

1

Turns out the answer is:

dpkg-reconfigure tzdata

This is a debian-specific thing. I’m not sure of the fine details of what it does, but it fixed the problem.

This command was formerly tzconfig.

-1

Just restart cron, it will use your local timezone setting. It worked for me.

sudo /etc/init.d/cron restart
1
  • Based on the question age and the other answer's suggestion of installing a timezone fix do you know when the timezone fix was added to Debian? Apr 20, 2015 at 2:37

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .