Solved

How to change the timezone in Centos Unix for Crontab

Posted on 2011-03-07
11
2,024 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
Why You Should Analyze Threat Actor TTPs

After years of analyzing threat actor behavior, it’s become clear that at any given time there are specific tactics, techniques, and procedures (TTPs) that are particularly prevalent. By analyzing and understanding these TTPs, you can dramatically enhance your security program.

 
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

Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

Join & Write a Comment

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…
Using libpcap/Jpcap to capture and send packets on Solaris version (10/11) Library used: 1.      Libpcap (http://www.tcpdump.org) Version 1.2 2.      Jpcap(http://netresearch.ics.uci.edu/kfujii/Jpcap/doc/index.html) Version 0.6 Prerequisite: 1.      GCC …
Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:
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.

762 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

19 Experts available now in Live!

Get 1:1 Help Now