time()获取到的时间戳与实际时间不一致,这里排除时区设置问题。
实际问题是服务器本身时间问题,需要用实际同步工具同步一下。
Chrony
是一个开源的自由软件是,网络时间协议(NTP)的一种通用实现, 支持Linux
、 FreeBSD
、 NetBSD
、 macOS
和Solaris
系统。
它由两个程序组成,分别是chronyd
和chronyc
。chronyd
是一个后台运行的守护进程,用于调整内核中运行的系统时钟和时钟服务器同步。它确定计算机增减时间的比率,并对此进行补偿。chronyc
提供了一个用户界面,用于监控性能并进行多样化的配置。它可以在chronyd
实例控制的计算机上工作,也可以在一台不同的远程计算机上工作。
在像CentOS 7之类基于RHEL的操作系统上,已经默认安装有Chrony
,若系统是最小化安装则需要通过yum
来安装。
yum install chrony -y
# 删除默认Server
sed -i "/server/d" /etc/chrony.conf
# 增加阿里云时间服务器
sed -i '$a\server ntp.aliyun.com iburst' /etc/chrony.conf
# 重启chronyd
systemctl restart chronyd
date -R 查看Linux 当前时间戳