Monday, January 14, 2019

How To Change Timezone on a CentOS 6 and 7

I set my time zone to ‘America/New_York’ on a CentOS Linux 7 server. I want to see date and time in my timezone in log files. How can I change the current timezone from ‘America/New_York’ to ‘America/Chicago’ using the command line? How can I change timezone on a CentOS 6 and 7 using the ssh based session?

A time zone is nothing but a region of the globe that observes a uniform standard time for constitutional, business and cultural purposes. In a short time zone refers to the local time of a country. You can easily change timezone in CentOS Linux using the following methods.

CentOS timezone config files and directories
1.       /usr/share/zoneinfo/ – The system timezone directory contains the files as per timezone name. For example, the file /usr/share/zoneinfo/America/New_York represents time zone for New York.
2.       /etc/localtime – It is a symlink to the file localtime or to the correct timezone file in the system located in /usr/share/zoneinfo/ directory.
Change Timezone on a CentOS 6 and 7
Let us see some examples to change timezone or set a new time zone on a CentOS Linux.

How do I see the current time zone on CentOS Linux?
Type the date command or the ls command:
 $ date  
 $ ls -l /etc/localtime  

Sample outputs:

Fig.01: Finding current timezone on a CentOS Linux

Another option is to type the following command on systemd based distro such as CentOS 7 to see timezone along with the grep command and timedatectl command:
 timedatectl  
 timedatectl | grep -i 'time zone'  
 date  


Change the current timezone in CentOS 7
To find list of all available time zones, run:
 # timedatectl list-timezones  
 ##*** Grep possible Asian timezones ***##  
 # timedatectl list-timezones | grep Asia  

Sample outputs:
 Africa/Abidjan  
 Africa/Accra  
 Africa/Addis_Ababa  
 Africa/Algiers  
 Africa/Asmara  
 Africa/Bamako  
 Africa/Bangui  
 Africa/Banjul  
 ....  
 ..  
 America/Dawson  
 America/Dawson_Creek  
 America/Denver  
 America/Detroit  
 America/Dominica  
 America/Edmonton  
 America/Eirunepe  
 America/El_Salvador  
 America/Fortaleza  
 America/Glace_Bay  
 ....  
 ..  
 Pacific/Saipan  
 Pacific/Tahiti  
 Pacific/Tarawa  
 Pacific/Tongatapu  
 Pacific/Wake  
 Pacific/Wallis  

The syntax is as follows to set timezone and need to run as root user:
# timedatectl set-timezone time_zone  

In this example, set timezone to America/Chicago
 # timedatectl set-timezone America/Chicago  

Verify new settings by typing the following two commands:
 # date  
 # ls -l /etc/localtime  

Sample outputs:
Fig.02: Change the currently used time zone

Change the current timezone in CentOS 6 and older
You need to use the ln command to set timezone on Centos 6. Type the following commands as root:
 # cp /etc/localtime /root/old.timezone  
 # rm /etc/localtime  
 # ln -s /usr/share/zoneinfo/America/Chicago /etc/localtime

Verify new settings by typing the following two commands:
 # date  
 # ls -l /etc/localtime  

Conclusion
You just learned how to change Timezone on CentOS Linux version 5, 6, and 7. The commands described here should also work with RHEL version 5, 6, and 7. For more info on timezone see this wiki page here. I also suggest that you read the following man pages using the man command:

$ man 1 timedatectl
Share:

0 comments:

Post a Comment