PVE 7.4 (Proxmox VE 7.X)和CENTOS 调整时间,服务器时间与本地时间不一致(相差8小时)原因与解决方法

原创 淹不死的狗  2023-10-05 22:32:40  阅读 413 次 评论 0 条
摘要:

PVE 7.4 (Proxmox VE 7.X)和CENTOS 调整时间,服务器时间与本地时间不一致(相差8小时)原因与解决方法就在刚才,一位网友的Linux服务器上获取时间总是和本地电脑windows系统时间相差8小时,一直不知道是为什么?后来联系上了我,我去看了一下他写的PHP代码,得到结果(实际是晚上10点31分,显示时间才下午2点31分):1、代码是没有任何问题的?2、php.ini 配置文件中也启用了 date.timezone = PRC; 后来我用xshell连接上了他的服务器,我

PVE 7.4 (Proxmox VE 7.X)和CENTOS 调整时间,服务器时间与本地时间不一致(相差8小时)原因与解决方法

就在刚才,一位网友的Linux服务器上获取时间总是和本地电脑windows系统时间相差8小时,一直不知道是为什么?后来联系上了我,我去看了一下他写的PHP代码,得到结果(实际是晚上10点31分,显示时间才下午2点31分):

PVE 7.4 (Proxmox VE 7.X)和CENTOS 调整时间,服务器时间与本地时间不一致(相差8小时)原因与解决方法 操作系统 第1张


1、代码是没有任何问题的?
2、php.ini 配置文件中也启用了 date.timezone = PRC;
后来我用xshell连接上了他的服务器,我执行date命令,先检查当前服务器的时间:
root@US02-5038ML-061-07:~# date
Thu 05 Oct 2023 02:31:05 PM CST
结果发现,是他的Linux服务器本身的时间不准,他的服务器是Proxmox VE 7。
 
原因:
原因其实不用多说,大家都知道了,硬件时钟不与UTC时间一致问题,时区不一样所引起的。
    CST应该是指(China Shanghai Time,东八区时间)
    UTC应该是指(Coordinated Universal Time,标准时间)
    所以,这2个时间实际上应该相差8个小时。


解决方法
知道了原因,解决问题就容易多了,由于服务器时间相差8小时这个问题详细讲的话,解决方法其实有很多种,我就给大家分享两种我最常用的解决方法吧!具体如下:
第一步:用ntpdate命令来让时间同步
1、安装ntpdate
# CentOS:

[root@localhost ~]# yum install ntpdate -y

# Debian/Ubuntu:

[root@localhost ~]# apt install ntpdate -y

2、执行ntpdate时间同步命令

# CentOS/Debian/Ubuntu 执行:

[root@localhost ~]# ntpdate 0.asia.pool.ntp.org

PVE 7.4 (Proxmox VE 7.X)和CENTOS 调整时间,服务器时间与本地时间不一致(相差8小时)原因与解决方法 操作系统 第2张 
如果上面时间同步失败,连接不上服务器,可以用以下命令:

[root@localhost ~]# ntpdate ntp1.aliyun.com

PVE 7.4 (Proxmox VE 7.X)和CENTOS 调整时间,服务器时间与本地时间不一致(相差8小时)原因与解决方法 操作系统 第3张 

3、现在再去查看时间信息,可以用“date”或“timedatectl”命令。

 
第二步:改硬件时间

同步成功后调整硬件时间,我直接用命令“hwclock -w”来同步硬件时间。

    以下是hwclock其它相关命令:

    hwclock --show  查看硬件的时间

    hwclock --set --date '2023-03-02 18:22:00' 设置硬件时间

    hwclock --hctosys   设置系统时间和硬件时间同步

    hwclock -s  让系统时间和硬件时间保持一致

 
第三步:改系统时间

再去改系统时间。如果第二个步骤搞定的话,这里也可以不设置。例如:

date -s ‘10:10:00’

 
第四步:重设系统时区

 

第一种方法:当地时间替换为上海

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
echo 'Asia/Shanghai' >/etc/timezone

#jenkins时需要使用root用户权限
docker exec -u root -it jenkins /bin/bash

或者

第一步:删除/etc/localtime,命令:
rm -rf /etc/localtime

第二步:复制上海时区,命令:
cp /usr/share/zoneinfo/Asia/Shanghai /etc/locatime

 

注意:需要重启服务器才会生效,推荐大家用第二种方法。

 

第二种方法:环境变量/etc/profile

 

1、在 /etc/profile 文件中增加一行:

export TZ='CST-8'

/etc/profile export TZ='CST-8'

 

2、使文件立即生效,执行命令:

[root@localhost ~]# source /etc/profile

或者

[root@localhost ~]# ./etc/profile


本文地址:https://tugouli.exiu.org/3642.html
版权声明:本文为原创文章,版权归 淹不死的狗 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

还没有留言,还不快点抢沙发?