我们一般使用“date-s”命令来修改Linux系统时间。例如设置系统时间为1996年6月10日的命令:date-s06/10/96设置系统时间为下午1:12:00的命令:date-s13:12:00注意,这里说的是系统时间,在linux中是由操作系统维护的。系统启动时,Linux操作系统从CMOS中读取时间到系统时间变量中,以后可以通过修改系统时间来修改时间。为了保持系统时间和CMOS时间的一致性,Linux会每隔一定时间将系统时间写入CMOS。由于同步是间隔时间进行的(大约11分钟),如果我们执行date-s后立即重启机器,修改时间可能不会写入CMOS,这就是问题的原因。如果要确保修改生效,可以执行如下命令。hwclock-w该命令强制将系统时间写入CMOS 由于Linux时钟和Windows时钟的概念分类、使用和设置有很大的不同,了解工作模式和设置操作不仅重要Linux时钟的使用对于Linux初学者来说意义重大,对于使用Linux服务器的用户来说尤为重要。一、Linux时钟的分类 Windows时钟大家可能都非常熟悉了。从概念上讲,Linux时钟类似于Windows时钟,显示当前系统时间,但在时钟分类和设置方面与Windows时钟有很大不同。与Windows不同,Linux将时钟分为两种:系统时钟(SystemClock)和硬件时钟(RealTimeClock,简称RTC)。系统时间是指当前LinuxKernel中的时钟,硬件时钟是指主板上由电池供电的主板硬件时钟。这个时钟可以在BIOS的“StandardBIOSFeature”项中设置。 既然Linux有两个时钟系统,那么你的Linux默认使用哪个时钟系统呢?两个系统时钟之间会不会有冲突?这些质疑和担忧不无道理。首先,Linux没有默认的时钟系统。Linux启动时,硬件时钟会读取系统时钟设置,然后系统时钟会独立于硬件运行。 从Linux启动过程来看,系统时钟和硬件时钟不会冲突,但是Linux中的所有命令(包括函数)都使用系统时钟设置。不仅如此,系统时钟和硬件时钟也可以是异步的,如图3所示。1,即系统时间和硬件时间可以不同。这样做的好处对于普通用户来说意义不大,但是对于Linux网络管理员来说却大有裨益。例如,要在一个大型网络(跨多个时区)中同步服务器,如果一台位于美国纽约的Linux服务器和一台位于北京的Linux服务器,其中一台服务器不需要更改硬件时钟而只需要临时设置一个系统时间,比如把北京服务器上的时间设置为纽约时间,两台服务器同步完文件后,再同步原来的时钟。该系统和硬件时钟提供了更灵活的操作。 2.Linux的时钟设置 在Linux中,用于查看和设置时钟的命令主要有date、hwclock和clock。其中clock和hwclock的用法类似,只是clock命令不仅支持x86硬件系统,还支持Alpha硬件系统。由于目前绝大多数用户使用的是x86硬件系统,所以这两个命令可以算是一个命令来学习。1、在虚拟终端中使用date命令查看和设置系统时间 查看系统时钟的运行情况:#date 设置系统时钟的运行情况: #date111309272017.30 datemmddhhmmyyyy.ssGeneralSettingformat:#datemonthdayhourminuteyear.second2.使用hwclock或clock命令查看和设置硬件时钟 查看硬件时钟的运行情况:#hwclock--showor#clock--show November2017Mon1309:54:44-0.672850seconds 设置硬件时钟的操作:#hwclock--set--date="11/13/201709:26:00"或者#clock--set--date="11/13/201709:26:00" 通用设置格式:hwclock/clock--set--date="月/日/年时:分:秒”。3、同步系统时钟和硬件时钟 Linux系统(笔者使用的是RedHat8.0,其他系统未测试)默认重启后,硬件时钟和系统时钟同步。如果不方便重启(服务器一般很少重启),使用clock或hwclock命令同步系统时钟和硬件时钟。硬件时钟与系统时钟同步:#hwclock--hctosys或#clock--hctosys 以上命令中,--hctosys表示硬件时钟到系统时钟。 系统时钟与硬件时钟同步:#hwclock--systohcor#clock--systohc 使用图形化系统设置工具设置时间 对于初学者,我推荐使用图形化时钟设置工具,例如RedHat8.0中的日期时间设置工具,可以在虚拟终端中按“redhat-c??onfig-time”命令,或者选择“K菜单/系统设置/日期时间”启动日期和时间设置工具。使用该工具不需要考虑系统时间和硬件时间,只需要在对话框中设置日期和时间,即可同时设置和修改系统时钟和硬件时钟。 3.网络同步时钟设置 在WindowsXP的日期和时间设置中有一个与网络同步的功能。有了这个功能,只要上网就可以得到非常准确的时间。RedHat8.0也提供了这样的功能。在日期和时间设置工具对话框的下方,有一个“启用网络时间协议”的选项。如果选择此选项,则可以使用网络时间协议来同步Linux系统时钟。选择此项后,其下方的服务器下拉列表框变为可用,您可以从中选择一个时间服务器作为远程时间服务器。然后单击确定按钮连接到设置的时间服务器并与其同步时间。参考链接:Linux中更改时间的3种方法
