My cron jobs are computed one hour later compared to server time. I don't understand what is going on.

My configuration is the following :

Server time :

Europe/Paris

In /etc/default/cron I added the following line :

TZ="Europe/Paris"

Despite that, cron job are launched one hour later than server time. What is really tricky, is that if I ask cron to play instruction "date", it gives the server date (the good one !).

I have no idea of how to resolve this problem ; I've been doing some reading on forums, but found nothing interesting.

What do you think ?

link|improve this question
1  
So cron jobs are being scheduled in UTC. The Vixie cron man page says, "The daemon will use, if present, the definition from /etc/timezone for the timezone." What's in /etc/timezone? Have you modified /etc/timezone more recently than the cron process was started? Have you tried /etc/init.d/cron restart? – Keith Thompson Jan 5 at 11:11
/etc/timezone has been modified recently, without restarting /etc/init.d/cron . I'm gonna try to restart it. – Guillaume Lebourgeois Jan 5 at 12:35
It did the job ! Thanks to you. – Guillaume Lebourgeois Jan 5 at 13:55
feedback

2 Answers

up vote 1 down vote accepted

(Copying my comment as an answer, since it turned out to be the solution; I guessed right.)

So cron jobs are being scheduled in UTC (Europe/Paris is at a one hour offset from UTC).

The Vixie cron man page says:

The daemon will use, if present, the definition from /etc/timezone for the timezone.

What's in /etc/timezone? Have you modified /etc/timezone more recently than the cron process was started? Have you tried

/etc/init.d/cron restart

?

link|improve this answer
feedback

Wikipedia says

Most cron implementations simply interpret crontab entries in the system time zone setting under which the cron daemon itself is run. This can be a source of dispute if a large multiuser machine has users in several time zones, especially if the system default timezone includes the potentially confusing DST. Thus, a cron implementation may special-case any "TZ=" environment variable setting lines in user crontabs, interpreting subsequent crontab entries relative to that timezone

So perhaps your login ID has a TZ setting that differs from the system TZ setting?

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.