Ubuntu服务器时间和本地时间不一致怎么解决——Linux的Local Time和RTC time

最近一直在搞大模型的相关工作,所以一直在用Linux服务器,前面的文章里也提到了,我用的是一台Dell PowerEdge R730xd。

但在使用中发现,IDRAC中的日志时间和本地时间存在时差,大概相关8小时。

对于技术人员,8小时这个时差还是相对比较敏感的,这就是UTC时间和CST时间的时差啊。

因为我们国内时区是东八区,所以和UTC相关8小时的时差。所以问题相必就在ubuntu-server的时区设置上。

1、查看当前时区

使用命令 timedatectl 查看当前时区和设置

可以看到 Local Time是采用的UTC, RTC time也是。其中和我们今天设置相关的就是这两项设置。

2、设置时区

命令: timedatectl set-timezone Asia/Shanghai

然后再查看当前时区

但是,经过上面修改后,你会发现某些位置,如某些日志的时间戳显示还是有问题,这就用到了另一个时钟了------RTC time(硬件时间)。

3、修改硬件时区

命令 timedatectl set-local-rtc yes

修改之后就会发现,有问题的时间戳显示正常了。

关于Local time和RTC time:

很多装到Windows和Mac双系统的朋友可能有印象,每次从Mac切换系统到Windows后,Windows的时间会变化,和当前时区的时间会相差几个小时(在国内一般是8个小时)。

其实原因也类似------macOS系统和Windows系统对时间的处理方式不同。macOS 把硬件时间当作 UTC,操作系统中显示的时间是硬件时间经过换算得来的。Windows把系统硬件时间当作本地时间(Local Time),操作系统中显示的时间和 BIOS 中是一样的。

操作系统在同步时间的时候,同时会修改BIOS时间,因此导致Windows/macOS显示的时间不一致。

先看Linux几个时间的功能介绍:

Local time: Sun 2024-09-01 11:49:33 CST # 本地时间

Universal time: Sun 2024-09-01 03:49:33 UTC # 协调世界时间

RTC time: n/a # 硬件时间

Time zone: Etc/UTC (UTC, +0000) # 时区

Network time on: yes # NTP时间同步是否开启,yes表示是

NTP synchronized: yes # 如果和远程NTP服务器成功同步,显示为yes

RTC in local TZ: no # no表示硬件时钟设置为协调世界时(UTC),yes表示硬件时钟设置为本地时间

所以,和Mac/Windows时间问题差不多的思路,直接调整硬件时间,就能解决时间戳显示的问题了。

相关推荐
鸡鸭扣1 小时前
Docker:3、在VSCode上安装并运行python程序或JavaScript程序
运维·vscode·python·docker·容器·js
A ?Charis2 小时前
k8s-对接NFS存储
linux·服务器·kubernetes
人工干智能4 小时前
科普:“Docker Desktop”和“Docker”以及“WSL”
运维·docker·容器
落笔画忧愁e4 小时前
FastGPT及大模型API(Docker)私有化部署指南
运维·docker·容器
前端郭德纲5 小时前
前端自动化部署的极简方案
运维·前端·自动化
DC_BLOG5 小时前
Linux-GlusterFS进阶配置
linux·运维·服务器
Blasit5 小时前
C++ Qt建立一个HTTP服务器
服务器·开发语言·c++·qt·http
浮华落定7 小时前
Centos开机自启动
linux·运维·centos
iks3257 小时前
远程计算机无conda情况下配置python虚拟环境
服务器·python·conda
End9289 小时前
如何安装虚拟机cenos7系统
大数据·linux·运维