您的位置:首页 > 运维架构 > Linux

【转载】Linux 系统时间查看 及 时区修改(自动同步时间)

2016-10-26 16:57 666 查看
1:使用date命令查看时区

[root@db-server~]#date-R


Sun,11Jan201507:10:28-0800


[root@db-server~]#



如上RFC2822format所示,上面命令输出了-0800表示西八区,是美国旧金山所在的时区,下面表示我们国家的东八区(+0800)

[root@lnx01~]#date-R


Sun,11Jan201523:06:02+0800



2:查看clock系统配置文件

[root@db-server~]#more/etc/sysconfig/clock

ZONE="America/Los_Angeles"

UTC=true

ARC=false

我的香港服务器,默认时区是Asia/Urumqi(乌鲁木齐)
使用date查看日期是0600,比北京时间慢两个小时左右


如上所示,表示该系统设置的时区为“America/Los_Angeles”,也就是西八区。

inux系统如何设置系统所在的时区呢?

方法1:使用tzselect设置时区

例子,将系统时区设置为东八区(北京时间)

[root@db-server~]#tzselect

Pleaseidentifyalocationsothattimezonerulescanbesetcorrectly.

Pleaseselectacontinentorocean.

1)Africa

2)Americas

3)Antarctica

4)ArcticOcean

5)Asia

6)AtlanticOcean

7)Australia

8)Europe

9)IndianOcean

10)PacificOcean

11)none-IwanttospecifythetimezoneusingthePosixTZformat.

#?5

Pleaseselectacountry.

1)Afghanistan18)Israel35)Palestine

2)Armenia19)Japan36)Philippines

3)Azerbaijan20)Jordan37)Qatar

4)Bahrain21)Kazakhstan38)Russia

5)Bangladesh22)Korea(North)39)SaudiArabia

6)Bhutan23)Korea(South)40)Singapore

7)Brunei24)Kuwait41)SriLanka

8)Cambodia25)Kyrgyzstan42)Syria

9)China26)Laos43)Taiwan

10)Cyprus27)Lebanon44)Tajikistan

11)EastTimor28)Macau45)Thailand

12)Georgia29)Malaysia46)Turkmenistan

13)HongKong30)Mongolia47)UnitedArabEmirates

14)India31)Myanmar(Burma)48)Uzbekistan

15)Indonesia32)Nepal49)Vietnam

16)Iran33)Oman50)Yemen

17)Iraq34)Pakistan

#?9

Pleaseselectoneofthefollowingtimezoneregions.

1)eastChina-Beijing,Guangdong,Shanghai,etc.

2)Heilongjiang(exceptMohe),Jilin

3)centralChina-Sichuan,Yunnan,Guangxi,Shaanxi,Guizhou,etc.

4)mostofTibet&Xinjiang

5)westTibet&Xinjiang

#?1


Thefollowinginformationhasbeengiven:


China

eastChina-Beijing,Guangdong,Shanghai,etc.


ThereforeTZ='Asia/Shanghai'willbeused.

Localtimeisnow:SunJan1123:31:51CST2015.

UniversalTimeisnow:SunJan1115:31:51UTC2015.

IstheaboveinformationOK?

1)Yes

2)No

#?yes

Pleaseenter1forYes,or2forNo.

#?1


Youcanmakethischangepermanentforyourselfbyappendingtheline

TZ='Asia/Shanghai';exportTZ

tothefile'.profile'inyourhomedirectory;thenlogoutandloginagain.


HereisthatTZvalueagain,thistimeonstandardoutputsothatyou

canusethe/usr/bin/tzselectcommandinshellscripts:

Asia/Shanghai


注意:tzselect命令只告诉你选择的时区的写法,并不会生效。所以现在它还不是东8区北京时间。你可以在.profile、.bash_profile或者/etc/profile中设置正确的TZ环境变量并导出。例如在.bash_profile里面设置TZ='Asia/Shanghai';exportTZ并使其生效。

[root@db-server~]#source.bash_profile


[root@db-server~]#date


SunJan1123:37:40CST2015



方法2:复制相应的时区文件,替换系统时区文件;或者创建链接文件

在/usr/share/zoneinfo/下面有很多时区文件,如下所示,可以复制这些时区文件覆盖/etc/localtime文件,或修改符号链接/etc/locatime对应的文件





北京时间
[root@db-server~]#cp/usr/share/zoneinfo/Asia/Shanghai/etc/localtime
[root@db-server~]#date-R

Mon,12Jan201510:42:26+0800

美国时间

[root@db-server~]#cp/usr/share/zoneinfo/America/Los_Angeles/etc/localtime

cp:overwrite`/etc/localtime'?y

[root@db-server~]#date-R

Sun,11Jan201518:42:49-0800

[root@db-server~]#






注意如果有时候,执行了上面命令后,使用date-R发现时区设置没有生效,有可能是因为你在profile或.bash_profile里面设置了TZ,如下案例所示:

[root@db-server~]#date-R

Sun,11Jan201518:42:49-0800

[root@db-server~]#vi.bash_profile

#.bash_profile


#Getthealiasesandfunctions

if[-f~/.bashrc];then

.~/.bashrc

fi


#Userspecificenvironmentandstartupprograms


PATH=$PATH:$HOME/bin


TZ='Asia/Shanghai';exportTZ

exportPATH

unsetUSERNAME

~

~

".bash_profile"14L,221Cwritten

[root@db-server~]#source.bash_profile

[root@db-server~]#date-R

Mon,12Jan201510:44:35+0800


方式2:修改链接/etc/locatime的时区文件

[root@db-server~]#ln/usr/share/zoneinfo/Asia/Shanghai/etc/localtime

ln:creatinghardlink`/etc/localtime'to`/usr/share/zoneinfo/Asia/Shanghai':Fileexists

[root@db-server~]#rm/etc/localtime

rm:removeregularfile`/etc/localtime'?y

[root@db-server~]#ln-sf/usr/share/zoneinfo/Asia/Shanghai/etc/localtime

[root@db-server~]#date-R

Mon,12Jan201510:56:10+0800

[root@db-server~]#

方法3:使用timeconfig设置时区

  略...  

inux系统如何设置系统所在的时区呢?

方法1:使用tzselect设置时区

例子,将系统时区设置为东八区(北京时间)

[root@db-server~]#tzselect

Pleaseidentifyalocationsothattimezonerulescanbesetcorrectly.

Pleaseselectacontinentorocean.

1)Africa

2)Americas

3)Antarctica

4)ArcticOcean

5)Asia

6)AtlanticOcean

7)Australia

8)Europe

9)IndianOcean

10)PacificOcean

11)none-IwanttospecifythetimezoneusingthePosixTZformat.

#?5

Pleaseselectacountry.

1)Afghanistan18)Israel35)Palestine

2)Armenia19)Japan36)Philippines

3)Azerbaijan20)Jordan37)Qatar

4)Bahrain21)Kazakhstan38)Russia

5)Bangladesh22)Korea(North)39)SaudiArabia

6)Bhutan23)Korea(South)40)Singapore

7)Brunei24)Kuwait41)SriLanka

8)Cambodia25)Kyrgyzstan42)Syria

9)China26)Laos43)Taiwan

10)Cyprus27)Lebanon44)Tajikistan

11)EastTimor28)Macau45)Thailand

12)Georgia29)Malaysia46)Turkmenistan

13)HongKong30)Mongolia47)UnitedArabEmirates

14)India31)Myanmar(Burma)48)Uzbekistan

15)Indonesia32)Nepal49)Vietnam

16)Iran33)Oman50)Yemen

17)Iraq34)Pakistan

#?9

Pleaseselectoneofthefollowingtimezoneregions.

1)eastChina-Beijing,Guangdong,Shanghai,etc.

2)Heilongjiang(exceptMohe),Jilin

3)centralChina-Sichuan,Yunnan,Guangxi,Shaanxi,Guizhou,etc.

4)mostofTibet&Xinjiang

5)westTibet&Xinjiang

#?1


Thefollowinginformationhasbeengiven:


China

eastChina-Beijing,Guangdong,Shanghai,etc.


ThereforeTZ='Asia/Shanghai'willbeused.

Localtimeisnow:SunJan1123:31:51CST2015.

UniversalTimeisnow:SunJan1115:31:51UTC2015.

IstheaboveinformationOK?

1)Yes

2)No

#?yes

Pleaseenter1forYes,or2forNo.

#?1


Youcanmakethischangepermanentforyourselfbyappendingtheline

TZ='Asia/Shanghai';exportTZ

tothefile'.profile'inyourhomedirectory;thenlogoutandloginagain.


HereisthatTZvalueagain,thistimeonstandardoutputsothatyou

canusethe/usr/bin/tzselectcommandinshellscripts:

Asia/Shanghai


注意:tzselect命令只告诉你选择的时区的写法,并不会生效。所以现在它还不是东8区北京时间。你可以在.profile、.bash_profile或者/etc/profile中设置正确的TZ环境变量并导出。例如在.bash_profile里面设置TZ='Asia/Shanghai';exportTZ并使其生效。

[root@db-server~]#source.bash_profile


[root@db-server~]#date


SunJan1123:37:40CST2015



方法2:复制相应的时区文件,替换系统时区文件;或者创建链接文件

在/usr/share/zoneinfo/下面有很多时区文件,如下所示,可以复制这些时区文件覆盖/etc/localtime文件,或修改符号链接/etc/locatime对应的文件





[root@db-server~]#date-R

Mon,12Jan201510:42:26+0800

[root@db-server~]#cp/usr/share/zoneinfo/America/Los_Angeles/etc/localtime

cp:overwrite`/etc/localtime'?y

[root@db-server~]#date-R

Sun,11Jan201518:42:49-0800

[root@db-server~]#






注意如果有时候,执行了上面命令后,使用date-R发现时区设置没有生效,有可能是因为你在profile或.bash_profile里面设置了TZ,如下案例所示:

[root@db-server~]#date-R

Sun,11Jan201518:42:49-0800

[root@db-server~]#vi.bash_profile

#.bash_profile


#Getthealiasesandfunctions

if[-f~/.bashrc];then

.~/.bashrc

fi


#Userspecificenvironmentandstartupprograms


PATH=$PATH:$HOME/bin


TZ='Asia/Shanghai';exportTZ

exportPATH

unsetUSERNAME

~

~

".bash_profile"14L,221Cwritten

[root@db-server~]#source.bash_profile

[root@db-server~]#date-R

Mon,12Jan201510:44:35+0800
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: