Linux校准服务器时间

问题

使用date命令查看系统时间,显示正常,但日志记录里的时间是错误的。

原因

一台Linux服务器有两个时间源,一个是硬件时间,即服务器硬件CMOS维护的时间,还有一个是软件时间,即操作系统维护的时间,前者通过hwclock命令来访问,后者则主要通过date命令来访问。

操作示例

解决

1
2
3
4
5
6
7
8
9
# 获取系统硬件时间
$ sudo hwclock
Fri 23 Jan 2015 03:33:17 PM CST -0.567492 seconds

# 设置操作系统的软件时间,与系统硬件时间同步
$ sudo hwclock -s

# 设置系统硬件时间,与操作系统的软件时间同步
$ sudo hwclock -w

扩展

1
2
3
4
5
6
7
8
9
# 如果系统用的是英文版的 utf8  则系统硬件时间会采用 12小时制时间表示法  即时间分为上午和下午
[root@xb-server ~]# cat /etc/locale.conf
LANG="en_US.UTF-8"
# 如果系统用的是中文版的 utf8 则系统硬件时间会采用 24小时制时间表示法
[root@xb-server ~]# cat /etc/locale.conf
LANG="zh_CN.UTF-8"

# 刷新配置文件生效
source /etc/locale.conf

Linux校准服务器时间
https://hif.icu/linux_datetime/
作者
HiF
发布于
2023年10月17日
许可协议