Solved

How to change the timezone in Centos Unix for Crontab

Posted on 2011-03-07
11
2,108 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
Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

 

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
 
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

Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

Question has a verified solution.

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

This tech tip describes how to install the Solaris Operating System from a tape backup that was created using the Solaris flash archive utility. I have used this procedure on the Solaris 8 and 9 OS, and it shoudl also work well on the Solaris 10 rel…
Why Shell Scripting? Shell scripting is a powerful method of accessing UNIX systems and it is very flexible. Shell scripts are required when we want to execute a sequence of commands in Unix flavored operating systems. “Shell” is the command line i…
Learn several ways to interact with files and get file information from the bash shell. ls lists the contents of a directory: Using the -a flag displays hidden files: Using the -l flag formats the output in a long list: The file command gives us mor…
Learn how to navigate the file tree with the shell. Use pwd to print the current working directory: Use ls to list a directory's contents: Use cd to change to a new directory: Use wildcards instead of typing out long directory names: Use ../ to move…

776 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