rhel/centos时区和本地时间设置

2015年9月20日 发表评论 阅读评论

一、rhel6/centos6时区配置

在 rhel6/centos6及其之前的版本中设置时区和本地时间配置文件相对比较麻烦。其对应的有两个文件/etc/sysconfig/clock和/etc/localtime。其中/etc/localtime文件是从/usr/share/zoneinfo/目录下的文件软链或者直接覆盖的。如:

[root@localhost ~]# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
cp: overwrite `/etc/localtime'? y

该文件无法直接打开,打开是乱码,不过可以通过strings可以看到有CST-8这样的字样,同样还可以通过date +%z 获取当前的时区信息。

而/etc/sysconfig/clock里面会有zone的配置项,这个主要用于主机重启后用于读取或者第三方应用程序使用本地时区时,通过该文件读取的。

# cat /etc/sysconfig/clock
# The time zone of the system is defined by the contents of /etc/localtime.
# This file is only for evaluation by system-config-date, do not rely on its
# contents elsewhere.
ZONE="Asia/Shanghai"

而对于时区信息设置同样还可以通过tzselect进行设置。只不过使用tzselect配置选择后,并不会直接成功,还需要在环境变量里进行设置。

# tzselect
Please identify a location so that time zone rules can be set correctly.
Please select a continent or ocean.
 1) Africa
 2) Americas
 3) Antarctica
 4) Arctic Ocean
 5) Asia
 6) Atlantic Ocean
 7) Australia
 8) Europe
 9) Indian Ocean
10) Pacific Ocean
11) none - I want to specify the time zone using the Posix TZ format.
#? 5
Please select a country.
 1) Afghanistan           18) Israel                35) Palestine
 2) Armenia               19) Japan                 36) Philippines
 3) Azerbaijan            20) Jordan                37) Qatar
 4) Bahrain               21) Kazakhstan            38) Russia
 5) Bangladesh            22) Korea (North)         39) Saudi Arabia
 6) Bhutan                23) Korea (South)         40) Singapore
 7) Brunei                24) Kuwait                41) Sri Lanka
 8) Cambodia              25) Kyrgyzstan            42) Syria
 9) China                 26) Laos                  43) Taiwan
10) Cyprus                27) Lebanon               44) Tajikistan
11) East Timor            28) Macau                 45) Thailand
12) Georgia               29) Malaysia              46) Turkmenistan
13) Hong Kong             30) Mongolia              47) United Arab Emirates
14) India                 31) Myanmar (Burma)       48) Uzbekistan
15) Indonesia             32) Nepal                 49) Vietnam
16) Iran                  33) Oman                  50) Yemen
17) Iraq                  34) Pakistan
#? 9
Please select one of the following time zone regions.
1) east China - Beijing, Guangdong, Shanghai, etc.
2) Heilongjiang (except Mohe), Jilin
3) central China - Sichuan, Yunnan, Guangxi, Shaanxi, Guizhou, etc.
4) most of Tibet & Xinjiang
5) west Tibet & Xinjiang
#? 1
The following information has been given:
        China
        east China - Beijing, Guangdong, Shanghai, etc.
Therefore TZ='Asia/Shanghai' will be used.
Local time is now:      Mon Feb 18 16:40:32 CST 2019.
Universal Time is now:  Mon Feb 18 08:40:32 UTC 2019.
Is the above information OK?
1) Yes
2) No
#? 1
You can make this change permanent for yourself by appending the line
        TZ='Asia/Shanghai'; export TZ
to the file '.profile' in your home directory; then log out and log in again.
Here is that TZ value again, this time on standard output so that you
can use the /usr/bin/tzselect command in shell scripts:
Asia/Shanghai

具体可以看上面最后面的提示,这个可以应用于比如,本地时区设置后,java等应用程序读取的还是不正确,这时候就可以在对应的用户属性文件下进行设置。

二、rhel7/centos7配置

在rhel7下由于有了timedatectl命令,对于时区的设置比较简单。直接使用timedatectl list-timezones可以列出所有的时区,同时可以使用timedatectl set-timezone 命令进行时区配置。

# timedatectl set-timezone "Asia/Shanghai"

该命令的实际操作就是把/usr/share/zoneinfo/Asia/Shanghai 文件软链到了/etc/localtime 。如果再更改为其他时区,对应的链接关系同样进行了修改。

另外需要注意的是在rhel7/centos7上/etc/sysconfig/clock文件默认没有了。不过tzselect命令还是在的,同样对于普通用的户的时区设置还是可以使用环境变量进行配置的:

TZ='Asia/Shanghai'; export TZ




本站的发展离不开您的资助,金额随意,欢迎来赏!

You can donate through PayPal.
My paypal id: itybku@139.com
Paypal page: https://www.paypal.me/361way

分类: Linux/unix/mac 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.