Learn how to set the correct timezone and synchronize time with NTP servers on your CentOS box.
Setting the timezone
Setting the timezone on CentOS or Redhat Enterprise Linux (RHEL) is easy.
Login as root either locally or remotely via SSH.
See what the current timezone is:
date |
You should see output like this:
Wed Jun 1 10:33:29 PDT 2011 |
To change the timezone first look at what timezones are available by running the following command on the command line interface:
ls /usr/share/zoneinfo/ |
You should see a listing like this:
[root@serve3 ~]# ls /usr/share/zoneinfo Africa Australia Cuba Etc GMT0 Iceland Japan MST Poland right Universal Zulu America Brazil EET Europe GMT-0 Indian Kwajalein MST7MDT Portugal ROC US Antarctica Canada Egypt Factory GMT+0 Iran Libya Navajo posix ROK UTC Arctic CET Eire GB Greenwich iso3166.tab MET NZ posixrules Singapore WET Asia Chile EST GB-Eire Hongkong Israel Mexico NZ-CHAT PRC Turkey W-SU Atlantic CST6CDT EST5EDT GMT HST Jamaica Mideast Pacific PST8PDT UCT zone.tab |
Then simply delete the current timezone:
rm /etc/localtime |
And replace it with a symbolic link to the new timezone from /usr/share/zoneinfo. For example if your chosen zone is Pacific time:
ln –s /usr/share/zoneinfo/PST8PDT /etc/localtime |
Synchronizing time with NTP server
Network Time Protocol (NTP) is a standard way of synchronizing computer clocks across a network. Using NTP you can keep your server’s clock synchronized with super accurate atomic clocks located around the world. Computer clocks tend to “drift” so regularly synchronizing them with NTP servers helps keep them accurate.
The first step is to make sure you have the ntp program installed. Do a:
which ntpdate |
If its not available type:
yum install ntp |
Once ntp is installed synchronize your computer clock with:
ntpdate 0.us.pool.ntp.org |
You are not limited to the above server. There are numerous NTP servers around the world. You can find a complete list at ntp.org.
Also keep in mind that ntp only affects the system time. The hardware clock on your server will not reflect that. So you want to set it as well so that the correct time is maintained after reboot:
hwclock --systohc |
ntpd
To keep your server clock automatically synchronized you can run the ntpd daemon which is installed as part of the ntp package.
Edit the /etc/ntp.conf file to comment out the following lines:
#server 127.127.1.0 # local clock
#fudge 127.127.1.0 stratum 10
The above two lines can sometimes prevent ntpd from properly synchronizing your clock. They are already commented out by default on CentOS/RHEL 6. But on 5.x you have to comment them out manually.
Finally type the following two commands to start the daemon and make it run automatically at boot up:
service ntpd start |
chkconfig ntpd on |
Thanks a lot… a lot!
worked like a charm! Thanks!
Thanks!!!
Perfect!
Thank you very much.
Hello, nice tutorial
How i can set in GMT+7 for Asia/Jakarta?
Thank you 🙂
Just symlink /etc/localtime to the appropriate file in /usr/share/zoneinfo/Asia/
Nice job… pulling my hair like for half day 😀 ty
Hi Auther,
I have installed NTPD and service is running as daemon. The service is syncing time properly from NTP server.
My question is, does NTPD (NTP Client) also syncs timezone from NTP server if it is different at Client over NTP Server ?
No it doesn’t sync timezone.
Thanks for quick response,
Is there any command way to change timezone in ntpd instead of making symbolic link as you explained in blog.
Well you could copy the appropriate timezone file from /usr/share/zoneinfo to /etc/localtime instead of sym linking it. I don’t know of any other way.
Thank you 🙂
Wonderful tutorial. Thank you so much.
Thanks a lot. It works
Linex server selected time zone is Ashia Kolkatta but it gives IST+5.30 timestamp. how to get rid of this additional +5.30 offset to get correct IST time.
If the timezone is correct try running ntpdate again.
it shows time equals current time +5.30. and error no servers can be useed, exiting. ntpq -p shows server synced to gps server.
What command did you run? Did you run ntpdate pool.ntp.org? Try shutting down the ntp service before running ntpdate.
Perfect!slove my CentOS 7 time problem.
How can I change timezone for Pakistan as did’t found “/etc/share/timezone/Asia/Pakistan”
There is Asia/Karachi
I have a situation which my apps in client needs to set as GMT 0, so I set to Aftica/Casablanca (no DST). My time zone is GMT +8. But, even I set to Africa/Casablanca, I still want it to be the same time as GMT +8. I have setup an intermediate server that will synchronize with my ntp server. the question is how I would do it to synchronize with ntp server? I’ve tried to change the date and ntpd died. is there any ways for ntp to synchronized without reset the time based on timezone set at the client?
That doesn’t make any sense. You have me thoroughly confused.
Why set it to Casablanca if you want GMT? Set it to GMT or UTC which is the same thing.
When i set the time for cairo egypt the clock keeps changing as the gov decided not to go on summer time this year.
I tried to apply the NTP service to update but didn’t succeed to get the correct time.
Any advice what to do?
Also is there a way to set the clock manually & prevent it from updating??
Do a yum update because new timezone data is released all the time and yum will update it on your system.
Generally on servers you set the hardware clock to UTC and then you can set your own timezone in the OS if you are the only user on the system. If the system is shared with users from around the world people stick to UTC.
in centos it works like a charm!
if ln doesn’t work
ln –s /usr/share/zoneinfo/PST8PDT /etc/localtime
use
cp /usr/share/zoneinfo/NZ /etc/localtime
it fixed my TOR issues with time thank a ton sir , btw i tested on centos 7 X64
I did all the settings as stated but it did not work 🙁 Any help would be appreciated
That`s what exactly I need. Thanks a lot