1、时区设置
下面所有例子都是将系统时区设置为东八区(北京时间)
1.1、复制相应的时区文件替换系统时区文件
在/usr/share/zoneinfo/下
[root@wrx ~]# cd /usr/share/zoneinfo/ [root@wrx zoneinfo]# ls Africa CET Etc Hongkong Kwajalein Pacific ROK zone.tab America Chile Europe HST Libya Poland Singapore Zulu Antarctica CST6CDT GB Iceland MET Portugal Turkey Arctic Cuba GB-Eire Indian Mexico posix UCT Asia EET GMT Iran MST posixrules Universal Atlantic Egypt GMT0 iso3166.tab MST7MDT PRC US Australia Eire GMT-0 Israel Navajo PST8PDT UTC Brazil EST GMT+0 Jamaica NZ right WET Canada EST5EDT Greenwich Japan NZ-CHAT ROC W-SU [root@wrx zoneinfo]#
直接复制相应的时区文件覆盖/etc/localtime
#使用Asia目录Shanghai时区文件 [root@wrx zoneinfo]# \cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
1.2、修改链接/etc/localtime的时区文件
[root@wrx zoneinfo]# ln /usr/share/zoneinfo/Asia/Shanghai /etc/localtime ln: creating hard link `/etc/localtime': File exists [root@wrx zoneinfo]# rm /etc/localtime rm: remove regular file `/etc/localtime'? y [root@wrx zoneinfo]# ln /usr/share/zoneinfo/Asia/Shanghai /etc/localtime [root@wrx zoneinfo]# date -R Mon, 21 Aug 2017 11:43:23 +0800
1.3、使用tzselect命令设置
[root@wrx zoneinfo]# 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) Beijing Time 2) Xinjiang Time #? 1 The following information has been given: China Beijing Time Therefore TZ='Asia/Shanghai' will be used. Local time is now: Mon Aug 21 11:47:01 CST 2017. Universal Time is now: Mon Aug 21 03:47:01 UTC 2017. 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 [root@wrx zoneinfo]#
tzselect命令只告诉你选择的时区的写法,并不会生效。所以现在它还不是东8区北京时间。你可以在.profile、.bash_profile或者/etc/profile中设置正确的TZ环境变量并导出。 例如在.bash_profile里面设置 TZ='Asia/Shanghai'; export TZ并使其生效。