Linux 时间及时区设置

时间以及时区设置

by:授客 QQ1033553122

1.首先确认使用utc还是local time.

UTC(Universal Time Coordinated)=GMT(Greenwich Mean Time)Local time 本地时间,

传统的POSIX计算机(Solaris,bsd,unix)使用UTC格式,linux可以处理UTC时间和蹩脚的Windows所使用的local time

 

到底是使用UTC还是local time可以这样来确定:

如果机器上同时安装有LinuxWindows,建议使用Local time

如果机器上只安装有Linux,建议使用utc

 

2.确定后编辑/etc/sysconfig/clock

设置UTC=0UTC=FALSE->硬件时钟为local time; UTC=1UTC=TRUE->硬件时钟UTC(GMT),ARC=0ARC=FALSE,->如果是在Alpha机器上,则设置为TRUE,否则FALSE

注:把硬件时钟设置为 UTC 的好处就是他能自动设置夏时制,缺点是在安装有多重操作系统启动的机器上,在另外的操作系统上时钟会错误。

 

Linux 启动时,其中的一个脚本(/etc/rc.d/rc.sysinit)会运行/sbin/hwclock 程序,把当前的硬件时钟复制为系统时间。以后修改时间通过修改系统时间实现。为了保持系统时间与CMOS时间的一致性,Linux每隔一段时间会将系统时间写入CMOShwclock假定硬件时钟已经设置为本地时钟,除非带有utc参数。脚本文件会读取 /etc/sysconfig/clock 文件的设置,因此我们不需要修改脚本,直接修改这个配置文件就可以了

修改/etc/sysconfig/clock文件,添加如下内容:

ZONE="Asia/Shanghai"

UTC=false

ARC=false

 

3.使用cat /etc/sysconfig/clock查看当前时区

[root@localhost laiyu]# 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"

UTC=FALSE

ARC=FALSE

 

4.使用tzselect设置时区

[root@localhost laiyu]# 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[Enter]

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[Enter]

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[Enter]

The following information has been given:

 

    China

    east China - Beijing, Guangdong, Shanghai, etc.

 

Therefore TZ='Asia/Shanghai' will be used.

Local time is now:    2012 11 25日星期日 22:40:32 CST.

Universal Time is now:    2012 11 25日星期日 14:40:32 UTC.

Is the above information OK?

1) Yes

2) No

#? 1[Enter]

 

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

 

5.复制相应的时区文件,替换系统默认时区

[root@localhost laiyu]# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

cp: "/usr/share/zoneinfo/Asia/Shanghai" "/etc/localtime" 为同一文件

 

注:cp /usr/share/zoneinfo/主时区/次时区 /etc/localtime

时钟设置文件为:/etc/localtime,实际上这个文件是/usr/share/zoneinfo目录下对应文件的符号连接

 

6.设置时间与internet同步

[root@localhost laiyu]# ntpdate asia.pool.ntp.org

25 Nov 22:33:50 ntpdate[3210]: adjust time server 220.130.158.71 offset -0.060016 sec

 

注:设置系统时间也可以用datedate -s命令

附:the NTP socket is in use, exiting的解决办法,如下

[root@localhost laiyu]# ntpdate asia.pool.ntp.org

25 Nov 22:28:18 ntpdate[3176]: the NTP socket is in use, exiting

[root@localhost laiyu]# service ntpd stop

Shutting down ntpd:                                        [  OK  ]

[root@localhost laiyu]# ntpdate asia.pool.ntp.org

25 Nov 22:33:50 ntpdate[3210]: adjust time server 220.130.158.71 offset -0.060016 sec

[root@localhost laiyu]# date

2012 11 25日星期日 22:33:58 CST

 

7.将当前时间写入BIOS永久生效(避免重启后失效),让系统时间与硬件时钟同步

[root@localhost laiyu]# hwclock

20121125日星期日 224422  -0.032355 seconds

或者

[root@localhost laiyu]# clock -w

 

注:clock命令除了支持x86硬件体系外,还支持Alpha硬件体系。

 

8.查看Boiscmos)时间(用 #hwclock -r

[root@localhost laiyu]# hwclock -r

20121125日星期日 224946  -0.813294 seconds

或者

[root@localhost laiyu]# hwclock --show

或者

[root@localhost laiyu]# clock --show

 

原文地址:https://www.cnblogs.com/shouke/p/10158202.html