Linux服务器时间设置及同步

20221011024342209

问题描述

在服务器请求OSS资源提示“The difference between the request time and the current time is too large”错误,或者在做备份的时候,一直出现RequestTimeTooSkewed错误,发现是自己虚拟机的时间不对。这时候怎么办呢?

问题原因

服务器请求发起的时间超过OSS服务器当前时间15分钟,OSS判定该请求无效,返回报错。

解决方案

请检查服务器设备的系统时间,并根据时区调整到正确时间。
Linux或Unix系统查看时区的方法:执行date -R查看时间和时区。

说明:下图中的+0800表示您的设备系统时区是东八区。

20221011024343237

1 手动设置

date命令:
date :查看当前时间,结果如下:Wed Feb 4 16:29:51 CST 2015
date -s 16:30:00 :设置当前时间,结果如下:Wed Feb 4 16:30:00 CST 2015
date -s "YYYY-MM-DD hh:mm[:ss]” 如date -s "2015-02-04 16:30:00
hwclock -w(将时间写入bios避免重启失效)

2 同步网络

ntpdate命令:
ntpdate -u 210.72.145.44 :网络时间同步命令

注意:若不加上-u参数, 会出现以下提示:no server suitable for synchronization found
-u:从man ntpdate中可以看出-u参数可以越过防火墙与主机同步;
210.72.145.44:中国国家授时中心的官方服务器。

ntp常用服务器:

ntp常用服务器名称 ntp常用服务器地址
中国国家授时中心 210.72.145.44
NTP服务器(上海) ntp.api.bz
美国 time.nist.gov
复旦 ntp.fudan.edu.cn
微软公司授时主机(美国) time.windows.com
台警大授时中心(台湾) asia.pool.ntp.org

经测试中国国家授时中心与NTP上海服务器可以正常同步时间,注意需要加上-u参数!

3 时区修改

3.1 即时生效

[root@localhost /]# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
[root@localhost /]# hwclock

3.2 重启生效

修改/etc/sysconfig/clock文件,把ZONE的值改为Asia/Shanghai,UTC值改为false,改完后的文件如下:
# The time zone of the system is defined by the contents of /etc/localtime.
# This file is only for evaluation by system-config-date, do not rely on its
# contents elsewhere.
ZONE="Asia/Shanghai"
UTC=false
ARC=false

发表回复

后才能评论