Solved

How to change the timezone in Centos Unix for Crontab

Posted on 2011-03-07
11
2,054 Views
Last Modified: 2012-05-11
Hi,
I have taken a VPS on Centos UNIX and need to schedule a job in it. The server was in MST timezone and I changed the timezone to IST and scheduled my cronjobs according to IST. However, it seems that my crontab is referencing time from a different timezone and still seems to be using MST. When I type the "date" command at the command line I see the time as IST. In the cronjob I'm running a Java program and not a script.
Please let me know if I need to make a change in the php.ini or do I need to check something else so that crontab refers to IST.


Thanks.
0
Comment
Question by:orazen12
  • 6
  • 5
11 Comments
 
LVL 68

Accepted Solution

by:
woolmilkporc earned 500 total points
ID: 35055246
You will have to restart the cron daemon to make it recognize the new timezone setting!

/sbin/service cron restart

or look here for details:
http://www.linuxmail.info/how-to-start-stop-services-centos-5/

wmp
0
 

Author Comment

by:orazen12
ID: 35055322
Thanks woolmilkporc.

Once I restart the daemon, is there a way I can check what timezone my crontab is taking. I'd just like to verify that it is taking the correct timezone.
0
 
LVL 68

Expert Comment

by:woolmilkporc
ID: 35055504
Easiest way - schedula a cron job:

* * * * * echo $TZ > /tmp/TZ

and check the output in /tmp/TZ

Don't forget to remove the job when you're done!

wmp
0
 

Author Comment

by:orazen12
ID: 35055738
woolmilkporc,

When I did

echo $TZ

at the command line it's showing me a blank line. Does that mean there's some problem with the way I've changed the timezone?
0
 
LVL 68

Expert Comment

by:woolmilkporc
ID: 35055756
Seems so. How did you change it?
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 68

Expert Comment

by:woolmilkporc
ID: 35055855
Did you update /etc/localtime?

If so, what do you get with "date" ?

If "date" shows the correct timezone only the TZ variable is not set, which might not be mandatory on CentOS.

Change your test cronjob to

* * * * * date > /tmp/date

And check /tmp/date.

wmp
0
 

Author Comment

by:orazen12
ID: 35055908
Ok it is working fine now. Yeah the TZ variable was not set and date is returning the right result. Actually I didn't know the cron daemon needs to be restarted. date was always showing the correct result.

Thanks for your help.
0
 
LVL 68

Expert Comment

by:woolmilkporc
ID: 35055915
Additionally examine /var/log/cron for correct timestamps.
0
 

Author Closing Comment

by:orazen12
ID: 35055927
The typo in the solution is that it should be crond for centos. Just mentioning here so that anyone else reading it will get the complete command.

/sbin/service crond restart
0
 
LVL 68

Expert Comment

by:woolmilkporc
ID: 35055947
Thanks for the points and particularly for the correction! You're right, of course!

Cheers

wmp
0
 

Author Comment

by:orazen12
ID: 35055956
Got it. Thanks.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Hello fellow BSD lovers, I've created a patch process for patching openjdk6 for BSD (FreeBSD specifically), although I tried to keep all BSD versions in mind when creating my patch. Welcome to OpenJDK6 on BSD First let me start with a little …
Introduction Regular patching is part of a system administrator's tasks. However, many patches require that the system be in single-user mode before they can be installed. A cluster patch in particular can take quite a while to apply if the machine…
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.
In a previous video, we went over how to export a DynamoDB table into Amazon S3.  In this video, we show how to load the export from S3 into a DynamoDB table.

911 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now