系统的时间相关设置

2015-08-13 0 By admin

当服务器启动时,会从硬件时钟中读取当前时间;虽然硬件时钟中的时间可能不正确。

当服务器中运行的应用程序需要读取或者修改时间,会和操作系统中的时间功能模块进行交互。

由上我们知道系统中最少存在两个时间。1、硬件时钟从根本上讲是CMOS时钟;2、内核维护的操作系统时钟。

一、硬件时钟服务

硬件时钟是通过主板中CMOS芯片实现的,由主板上一块电池供电;在机器关机后,硬件时钟依然可以正常工作。时钟依据主板石英晶体振荡器频率工作,可以通过BIOS设置调整硬件时钟的时间。

操作系统启动时,会从硬件时钟获取到时间信息;之后一般情况就不会再有交互沟通了。操作系统调整系统时间或者与Internet时间同步后,都不会更改硬件时钟中的时间。

1、硬件时钟时间的一般操作

1、查看硬件时钟
命令为:hwclock --show
2、更新机器的硬件时间
命令为:hwclock --adjust
硬件时钟通常被设置成全球标准时间(UTC),而将时区信息保存在/usr/share/lib/timezone (或者在某些系统中可能是/usr/local/timezone)目录下某个适当的文件中,然后用一个符号链接文件/etc/localtime指向它。
3、重置硬件时钟用
命令为:hwclock --set --date=mm/dd/yy hh:MM:ss"

二、系统时钟服务

Linux 系统时间由系统内核维护,我们可以通过 Linux 系统发行版提供的工具对其进行管理。其中涉及到时间和时区的管理。

1、修改系统时间

命令为:date -s   使用date -R 可以查看系统当前时区
(1)将时间调整为10月11日凌晨1点55分:data  -s 10110155
(2)将系统时间设定成2005年8月8日:      date -s 2005/08/08
(3)将系统时间设定成下午8点12分0秒:  date -s 20:12:00
为了保持系统时间与CMOS时间的一致性,Linux每隔一段时间会将系统时间写入CMOS。
由于该同步是每隔一段时间(大约是11分钟)进行的,在执行完 date -s 命令后,如果马上重起系统,修改的时间就有可能没有被写入CMOS。
如果要确保修改生效,最好再使用 clock -w 这个命令将系统时间强行写入CMOS。

2、修改时区

命令为:tzset
如果系统中没有这条命令,那可以用类似下面的操作:
ln -s /etc/localtime /usr/share/zoneinfo/US/Pacific

3、选择时区信息

命令为:tzselect
根据系统提示,选择相应的时区信息。