Noo*_*oob 5 linux ubuntu redhat centos centos6
我现在使用 GMT+8,并将 hwlock 设置为 UTC。
[root@sjoam2 ~]# date
Sat Aug 1 16:32:04 SGT 2015
[root@sjoam2 ~]# hwclock --systohc --utc
[root@sjoam2 ~]# hwclock --debug
hwclock from util-linux-ng 2.17.2
Using /dev interface to clock.
Last drift adjustment done at 1438417931 seconds after 1969
Last calibration done at 1438417931 seconds after 1969
Hardware clock is on UTC time
Assuming hardware clock is kept in UTC time.
Waiting for clock tick...
...got clock tick
Time read from Hardware Clock: 2015/08/01 08:32:17
Hw clock time : 2015/08/01 08:32:17 = 1438417937 seconds since 1969
Sat 01 Aug 2015 04:32:17 PM SGT -0.641290 seconds
[root@sjoam2 ~]#
Run Code Online (Sandbox Code Playgroud)
看起来不错。
hwclock 调试显示 08:32 UTC
-- 我不太确定 hwclock --debug 中的最后一句(Sat 01 Aug 2015 04:32:17 PM SGT -0.641290 秒),它显示当前时区格式的日期(+8 小时)- i假设它很好
[root@sjoam2 ~]# hwclock --debug
hwclock from util-linux-ng 2.17.2
Using /dev interface to clock.
Last drift adjustment done at 1438417931 seconds after 1969
Last calibration done at 1438417931 seconds after 1969
Hardware clock is on UTC time
Assuming hardware clock is kept in UTC time.
Waiting for clock tick...
...got clock tick
Time read from Hardware Clock: 2015/08/01 08:36:45
Hw clock time : 2015/08/01 08:36:45 = 1438418205 seconds since 1969
Sat 01 Aug 2015 04:36:45 PM SGT -0.782726 seconds
[root@sjoam2 ~]#
Run Code Online (Sandbox Code Playgroud)
从 hwclock --debug 输出看来仍然没问题 Hwclock = 08:36
-- 我不太确定 hwclock --debug 中的最后一句(Sat 01 Aug 2015 04:36:45 PM SGT -0.782726 秒),它显示当前时区格式的日期(+8 小时)- i假设它很好
但现在看看日期
[root@sjoam2 ~]# date
Sun Aug 2 00:40:31 SGT 2015
Run Code Online (Sandbox Code Playgroud)
它在 hwclock 最后输出 Sat 01 Aug 2015 04:36:45 PM SGT 的正确时间上又增加了 8 小时 + 8 小时,这总共为 UTC 计时增加了 16 小时
我该如何防止这种情况发生?我的配置哪里出了问题。
我用这个命令同步date并:hwclock
$ sudo hwclock --systohc
Run Code Online (Sandbox Code Playgroud)
上面的命令会date定时写入hwclock。
注意:如果您想hwclock不时写入date,请执行以下操作:
$ sudo hwclock --hctosys
Run Code Online (Sandbox Code Playgroud)
对于测试:
$ sudo hwclock --show
$ date
Run Code Online (Sandbox Code Playgroud)
注意:您可以使用hwclock -s代替hwclock --hctosys和hwclock -w代替hwclock --systohc。
systohc= 系统时间到硬件时间。
hctosys= 硬件时间到系统时间。
您的硬件时钟应该存储 UTC 时间,但您忘记使用该-u选项来告知hwclock这一点。例如,
hwclock -ru
Run Code Online (Sandbox Code Playgroud)
重置日期然后运行
hwclock -su
Run Code Online (Sandbox Code Playgroud)
将解决问题。
| 归档时间: |
|
| 查看次数: |
13640 次 |
| 最近记录: |