Chinaunix首页 | 论坛 | 博客
  • 博客访问: 859133
  • 博文数量: 254
  • 博客积分: 5350
  • 博客等级: 大校
  • 技术积分: 2045
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-27 13:27
文章分类

全部博文(254)

文章存档

2015年(1)

2014年(9)

2013年(17)

2012年(30)

2011年(150)

2010年(17)

2009年(28)

2008年(2)

分类: LINUX

2009-10-12 15:45:46

             linux 時間詳解               
Linux 时钟分为系统时钟(System Clock)和硬件(Real Time Clock ,简称RTC )时钟。系统时钟是指当前Linux Kernel中的时钟,而硬件时钟则是主板上由电池供电的时钟,这个硬件时钟可以在BIOS中进行设置。当Linux 启动时,硬件时钟会去读取系统时钟的设置,然后系统时钟就会独立于硬件运作。

Linux中的所有命令(包括函数)都是采用的系统时钟 设置。在Linux中,用于时钟查看和设置的命令主要有date、hwclock和clock。其中,clock和hwclock用法相近,只用一个就 行,只不过clock命令除了支持x86硬件体系外,还支持Alpha硬件体系。

1、date

查看系统时间

# date

设置系统时间

# date --set “07/07/06 10:19" (月/日/年时:分:秒)

2、hwclock/clock

查看硬件时间

# hwclock --show

或者# clock --show

设置硬件时间

# hwclock --set --date="07/07/06 10:19" (月/日/年 时:分:秒)

或者# clock --set --date="07/07/06 10:19" (月/日/年 时:分:秒)

3、硬件时间和系统时间的同步

按照前面的说法,重新启动系统,硬件时间会读取系统时间,实现同步,但是在不重新启动的时候,需要用hwclock或clock命令实现同步。

硬件时钟与系统时钟同步:# hwclock --hctosys(hc代表硬件时间,sys代表系统时间)或者# clock --hctosys

系统时钟和硬件时钟同步:# hwclock --systohc或者# clock --systohc

4、时区的设置

# 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

3) central China - Gansu, Guizhou, Sichuan, Yunnan, etc.

4) Tibet & most of Xinjiang Uyghur

5) southwest Xinjiang Uyghur

输入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: Fri Jul 7 10:32:18 CST 2006.Universal Time is now: Fri Jul 7 02:32:18 UTC 2006.Is the above information OK?1) Yes2) No

输入1,确认

如果不用tzselect命令,可以修改文件变更时区。

# vi /etc/sysconfig/clock ZONE=Asia/Shanghai(查/usr/share/zoneinfo下面的文件) UTC=false ARC=false

# rm /etc/localtime

# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

重新启动即可。
還有個更簡單的,timeconfig,可以手動選擇時區即可
 
讓系統時間自動寫入到硬件時間
vim /etc/sysconfig/ntpd
修改
SYNC_HWCLOCK=yes
保存即可。
=================
Linux操作系统的时间设置与同步(NTP)
如何设置Linux Time Zone
ls -F /usr/share/zoneinfo/

  ln -sf /usr/share/zoneinfo/posix/Asia/Shanghai /etc/localtime
date
由于Linux时钟和Windows时钟从概念的分类、使用到设置都有很大的不同,所以,搞清楚Linux时钟的工作方式与设置操作,不仅对于Linux初学者有着重大意义,而且对于使用Linux服务器的用户来说尤为重要。

  Linux时钟的分类

   Windows 时钟大家可能十分熟悉了,Linux时钟在概念上类似Windows时钟显示当前系统时间,但在时钟分类和设置上却和Windows大相径庭。和 Windows不同的是,Linux将时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟两种。系统时间是指当前Linux Kernel中的时钟,而硬件时钟则是主板上由电池供电的那个主板硬件时钟,这个时钟可以在BIOS的“Standard BIOS Feture”项中进行设置。

  既然Linux有两个时钟系统,那么大家所使用的Linux默认使用哪种时钟系统呢?会不回出现两种系统 时钟冲突的情况呢?这些疑问和担心不无道理。首先,Linux并没有默认哪个时钟系统。当Linux启动时,硬件时钟会去读取系统时钟的设置,然后系统时 钟就会独立于硬件运作。

  从Linux启动过程来看,系统时钟和硬件时钟不会发生冲突,但Linux中的所有命令 (包括函数)都是采用的系统时钟设置。不仅如此,系统时钟和硬件时钟还可以采用异步方式,见图1所示,即系统时间和硬件时间可以不同。这样做的好处对于普 通用户意义不大,但对于Linux网络治理员却有很大的用处。例如,要将一个很大的网络中(跨越若干时区)的服务器同步,假如位于美国纽约的Linux服 务器和北京的Linux服务器,其中一台服务器无须改变硬件时钟而只需临时设置一个系统时间,如要将北京服务器上的时间设置为纽约时间,两台服务器完成文 件的同步后,再与原来的时钟同步一下即可。这样系统和硬件时钟就提供了更为灵活的操作。

  设置Linux的时钟

   在Linux中,用于时钟查看和设置的命令主要有date、hwclock和clock。其中,clock和hwclock用法相近,只不过clock 命令除了支持x86硬件体系外,还支持Alpha硬件体系。由于目前绝大多数用户使用x86硬件体系,所以可以视这两个命令为一个命令来学习。

  1.在虚拟终端中使用date命令来查看和设置系统时间

  查看系统时钟的操作:

  # date

  设置系统时钟的操作:

  # date 091713272003.30

  通用的设置格式:

  # date 月日时分年.秒

  2.使用hwclock或clock命令查看和设置硬件时钟

  查看硬件时钟的操作:

  # hwclock --show 或

  # clock --show

  2003年09月17日 星期三 13时24分11秒 -0.482735 seconds

  设置硬件时钟的操作:

  # hwclock --set --date="09/17/2003 13:26:00"

  或者

  # clock --set --date="09/17/2003 13:26:00"

  通用的设置格式:hwclock/clock --set --date=“月/日/年 时:分:秒”。

  3.同步系统时钟和硬件时钟

  Linux系统(笔者使用的是Red Hat 8.0,其它系统没有做过实验)默认重启后,硬件时钟和系统时钟同步。假如不大方便重新启动的话(服务器通常很少重启),使用clock或hwclock命令来同步系统时钟和硬件时钟。

  硬件时钟与系统时钟同步:

  # hwclock --hctosys

  或者

  # clock --hctosys

  上面命令中,--hctosys表示Hardware Clock to SYStem clock。

  系统时钟和硬件时钟同步:

  # hwclock --systohc

  或者

  # clock --systohc

  使用图形化系统设置工具设置时间

   对于初学者来,笔者推荐使用图形化的时钟设置工具,如Red Hat 8.0中的日期与时间设置工具,可以在虚拟终端中键“redhat-config-time”命令,或者选择“K选单/系统设置/日期与时间”来启动日期 时间设置工具。使用该工具不必考虑系统时间和硬件时间,只需从该对话框中设置日期时间,可同时设置、修改系统时钟和硬件时钟。

  Internet同步时钟设置

   在Windows XP日期与时间设置中有一项与Internet同步的功能,有了这项功能只要上网便可得到十分准确的时间。Red Hat 8.0也提供了这样的功能,在日期与时间设置工具对话框中的下部,有一个“启用网络时间协议”的选项,将该项选中就可以使用网络时间协议来同步Linux 系统时钟。选中该项后,其下面的服务器下拉列表框就变为可用状态,可从中选择一个时间服务器作为远程时间服务器。然后单击确定按钮,便可连接所设定的时间 服务器,并与之同步时间。

阅读(1259) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~