hwclock设置日期_hwclock显示系统硬件时钟的日期和时间

hwclock设置日期_hwclock显示系统硬件时钟的日期和时间hwclock 由 Linux 内核管理的时钟与硬件时钟不同 硬件时钟运行 即使您关闭您的系统 硬件时钟也称为 BIOS 时钟 您可以从 BIOS 更改硬件时钟的日期和时间 但是 当系统启动并运行时 仍然可以使用 Linuxhwclock 命令查看和设置硬件日期和时间 如本教程所述 1 显示硬件时钟日期和时间只需输入 hwclock 它将显示系统硬件时钟的日期和时间 这是您将在 BIOS 屏幕上看到的相同日期和时间

hwclock设置日期_hwclock显示系统硬件时钟的日期和时间

hwclock

由Linux内核管理的时钟与硬件时钟不同。

硬件时钟运行,即使您关闭您的系统。

硬件时钟也称为BIOS时钟。您可以从BIOS更改硬件时钟的日期和时间。

但是,当系统启动并运行时,仍然可以使用Linux hwclock命令查看和设置硬件日期和时间,如本教程所述。

1. 显示硬件时钟日期和时间

只需输入hwclock,它将显示系统硬件时钟的日期和时间。这是您将在BIOS屏幕上看到的相同日期和时间。您还可以使用选项-r或-show来显示日期和时间。

[root@localhost ~]# hwclock

2019年07月15日 星期一 22时10分57秒  -0. 秒

[root@localhost ~]# hwclock -r

2019年07月15日 星期一 22时11分13秒  -0. 秒

[root@localhost ~]# hwclock –show

2019年07月15日 星期一 22时11分32秒  -0. 秒

注意:date命令的输出可能与hwclock命令的输出相同(实际上应该是相同的)。但是,date命令从Linux内核管理的时钟中获取日期和时间。在这个例子中,它们之间大约有10分钟的差异。

[root@localhost ~]# date

2019年 07月 15日 星期一 22:00:02 CST

2. 将系统时间复制到硬件时间

您确实希望确保硬件时钟具有与系统时钟相同的日期和时间。

正如您目前所看到的,系统时钟和硬件时钟时间之间存在差异。

[root@localhost ~]# date

2019年 07月 15日 星期一 22:00:28 CST

[root@localhost ~]# hwclock

2019年07月15日 星期一 22时14分38秒  -0. 秒

因此,使用如下所示的hwclock命令将硬件时钟设置为与系统时钟相同。这是hwclock命令的典型用法。

[root@localhost ~]# hwclock -w

[root@localhost ~]# hwclock

2019年07月15日 星期一 22时17分47秒  -0.066152 秒

[root@localhost ~]# date

2019年 07月 15日 星期一 22:17:50 CST

注意:-w和-systohc选项都执行相同的操作。我喜欢用-systohc,因为它很容易记住。systohc代表“系统到硬件时钟”,它将时间从系统复制到硬件时钟。

[root@localhost ~]# hwclock –systohc

3.手动设置硬件时钟日期和时间

您还可以使用-set和-date选项手动设置值,而不是将系统日期和时间复制到硬件时钟,如下所示。

以下日期为2019年8月11日。请注意,如果您没有指定时间,它将被设置为12:00 AM。

[root@localhost ~]# hwclock –set –date 8/11/2019

[root@localhost ~]# hwclock

2019年08月11日 星期日 00时00分09秒  -0. 秒

您还可以同时设置日期和时间,如下所示。请注意,它默认使用本地时间。

[root@localhost ~]# hwclock –set –date “8/11/2019 23:10:45”

[root@localhost ~]# hwclock

2019年08月11日 星期日 23时10分49秒  -0.083291 秒

您还可以获取date命令的输出,并将其传递给-set和-date选项,如下所示。

[root@localhost ~]# hwclock –set –date “Sat Aug 10 08:31:24 PDT 2019”

[root@localhost ~]# hwclock

2019年08月10日 星期六 23时31分33秒  -0. 秒

4. 将硬件时间复制到系统时间

当硬件时钟显示正确的日期和时间,而不是系统时钟时,可以使用-s选项将硬件时间复制到系统时间,如下所示。

[root@localhost ~]# hwclock

2019年08月10日 星期六 23时32分12秒  -0. 秒

[root@localhost ~]# date

2019年 07月 15日 星期一 22:22:31 CST

[root@localhost ~]# hwclock -s

[root@localhost ~]# date

2019年 08月 10日 星期六 23:32:36 CST

注意:-s和-hctosys选项都是一样的。我喜欢用-hctosys,因为它很容易记住。-hctosys代表“硬件时钟到系统”,它将时间从硬件时钟复制到系统时钟。

[root@localhost ~]# hwclock -hctosys

用法:

hwclock [功能] [选项…]

在测试此功能时,如果您已经错开了系统时间,可以使用date命令示例将其设置为正确的日期和时间。

5. hwclock调试模式

当您将-debug选项传递给hwclock时,它会显示一些调试信息,这些信息准确地显示了hwclock命令的功能。

下面显示了当我们将系统时间复制到硬件时间时,它会做什么。

[root@localhost ~]# hwclock –systohc –debug

hwclock,来自 util-linux 2.23.2

将使用 /dev interface to clock。

上次漂移调整完成于1969(年)后 秒

上次校准完成于1969(年)后 秒

硬件时钟为 UTC 时间

将假设硬件时钟保持为 UTC 时间。

正在等等时钟滴答…

…已获取时钟滴答

从硬件时钟读取的时间:2019/08/10 15:33:57

硬件时钟时间:2019/08/10 15:33:57 = 1969(年)后 秒

. is close enough to . (0.000000 < 0.001000)

Set RTC to ( + 0; refsystime = .000000)

正在将硬件时钟设置为 15:33:57 = 1969(年)后 秒

ioctl(RTC_SET_TIME) 成功。

将不调整漂移系数,因为从上次校准还不到一天。

下面显示了当我们将硬件时间复制到系统时间时,它会做什么。

[root@localhost ~]# hwclock -hctosys –debug

用法:

hwclock [功能] [选项…]

注意:在alpha机器上,可以使用getepoch查看历元,setepoch设置历元。当您尝试在a on Alpha机器上运行这个程序时,您将得到以下错误机器。

[root@localhost ~]# hwclock –setepoch –epoch=1952

hwclock: 只有在 Alpha 计算机上内核才会为硬件时钟保持一个纪元(epoch)值。

这版 hwclock 程序不是为 Alpha 计算机编译的(因此目前也不打算在 Alpha

计算机上运行)。未执行任何操作。

6. 调整硬件时钟

当系统启动时,它占用硬件时钟的时间。hwclock -adjust选项使用/etc/adjtime文件来控制调整。

[root@localhost ~]# hwclock –adjust

/etc/adjtime文件有以下三行。

[root@localhost ~]# cat /etc/adjtime

0.004102 0.000000

UTC

*第一行的三个值表示1)系统漂移率(以秒为单位),2)自1969年UTC最近调整以来的秒数(仅0)

*第2行与第1行相同。我。自1969年UTC调整以来的秒数

*第3行将显示UTC或LOCAL

7. hwclock测试模式

当您使用hwclock(使用-test选项)更改内容时,您可以在不做任何更改的情况下执行命令。

systz选项将相应地更改系统时区。但是,由于我们给出了-test,所以它不会真正进行更改,但是它仍然可以毫无问题地执行命令。

[root@localhost ~]# hwclock –systz –test

将不设置系统时钟,因为正以测试方式运行。

测试模式的最佳用法是将其与调试选项组合使用。我。当您想要查看hwclock命令做什么,但不做任何更改时。

[root@localhost ~]# hwclock –systz –test –debug

hwclock,来自 util-linux 2.23.2

上次漂移调整完成于1969(年)后 秒

上次校准完成于1969(年)后 秒

硬件时钟为 UTC 时间

将假设硬件时钟保持为 UTC 时间。

当前系统时间: = 2019/08/10 15:39:25

正在调用 settimeofday:

UTC:2019/08/10 15:39:25

tv.tv_sec = , tv.tv_usec =

tz.tz_minuteswest = -480

将不设置系统时钟,因为正以测试方式运行。

下面显示了-adjust选项在不做任何调整的情况下所做的工作。

[root@localhost ~]# hwclock –adjust –test –debug

hwclock,来自 util-linux 2.23.2

将使用 /dev interface to clock。

上次漂移调整完成于1969(年)后 秒

上次校准完成于1969(年)后 秒

硬件时钟为 UTC 时间

将假设硬件时钟保持为 UTC 时间。

正在等等时钟滴答…

…已获取时钟滴答

从硬件时钟读取的时间:2019/08/10 15:40:09

硬件时钟时间:2019/08/10 15:40:09 = 1969(年)后 秒

时间自上次调整过去了 372 秒

需要插入 0 秒并将时间往回指 0.000018 秒

需要的调整不到一秒,将不设置时钟。

关于运维学习、分享、交流,笔者开通了微信公众号【运维猫】,感兴趣的朋友可以关注下,欢迎加入,建立属于我们自己的小圈子,一起学运维知识。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/223798.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午1:24
下一篇 2026年3月17日 下午1:25


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号