解决方案:Linux服务器时间同步的基本方法。 (linux服务器时间同步)
解决方案:Linux服务器时间同步的基本方法
在运行Linux系统的服务器中,时间同步是一个非常重要的问题。服务器时间同步的失误对于许多应用程序是致命的,因此,解决方案是确保服务器上的时间正确同步。本文将会讨论Linux服务器时间同步的基本方法,包括手工同步和通过网络同步。
手动同步
之一种手动同步方法是使用date命令。应该首先检查服务器的时区,确保它正确地与您所在的时区相匹配。同时,应注意如果更改了时区设置,那么服务器的时间必须被手动调整以使它准确。
通过date命令手动同步时间,您需要首先使用date命令获取当前时间的日期和时间。例如,以格林威治标准时间(GMT)为例,您可以在终端上输入以下命令:
date
您将得到输出格式如下:
Tue Jul 28 21:05:29 UTC 2023
在这个例子中,当前UTC时间是7月28日21:05:29。现在,如果您需要在服务器上更改当前的日期和时间,请使用date命令,加上选项- s(set)和新日期时间。以下是一个例子:
date –set=”2023-07-28 14:55:55″
如此一来,您便将服务器的时间手动调整至当前日期14:55:55。
自动同步
手动同步虽然很容易实现但是重复性较高,而且不推荐用于开发和生产环境。因此,自动同步是更好的解决方案之一。主要有两种自动同步方式:
1. ntpd:
NTP(Network Time Protocol)是一种用于同步计算机时间的协议。ntpdate命令是ntpd(NTP 守护进程)的一部分,可以向NTP服务器查询时间并将其应用到本地系统上。您可以安装ntpd及其相关包:
sudo apt-get install ntp
ntp默认安装完成后便会开启服务自动运行,无需额外的配置文件。您可以使用ntpq来查看本地的ntp更新状态:
ntpq -p
您将会得到如下输出:
remote refid st t when poll reach delay offset jitter
==============================================================================
*ntp.sjtu.edu.cn .GPS. 1 u 13 64 3 2.455 2451.22 1.053
在这里,ntp具有一个名为ntp.sjtu.edu.cn的远程参考时钟,它的延迟(delay),偏移量(offset)和抖动率(jitter)都被列出以供查看。星号(*)表示本地时间与ntp服务的偏差不到128ms,是当前服务器最可靠的时间源。
2. Chrony:
Chrony是一种更现代的时间同步工具。与ntpd不同,Chrony使用更准确的本地时钟来跟踪Internet上的时间源。它可以自行计算补偿校正,并具有更好的精度,使其优于ntp。
接下来,您可以安装Chrony并启动它:
sudo apt-get install chrony
sudo systemctl start chronyd
然后,您可以直接使用chronyc来说明远程时间源:
chronyc sources
您将会得到一系列包含使用的时间源的输出,如下所示:
210 Number of sources = 1MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^+ ntp.sjtu.edu.cn 2 9 373 80 -111ns[-146us] +/- 484ms
确保您现在正在使用的时间源具有适当的稳定性,已经与您所在的位置同步,以及可靠性比其他可用时间源更高。如果需要,您可以调整ntp源,确定它“更具备权威性”:
sudo chronyc -a “burst 4/4” -a “trystep 10” -a “makestep 1000 -1” -a “trust -6”
在这里,-a“burst 4/4”负责允许更多的数据包被发起请求。而trystep为10意味着网络通信等待的基本计时是500ms。makestep 1000 -1意味着如果本地时钟偏离NTP服务器时钟1秒以上,则单独一次更改本地时钟时间偏差。 然后,-6是忽略来自6号以上时间源的优先级。
时间同步在Linux系统上是必不可少的。在手动同步和自动同步的情况下,我们需要做的就是确保我们使用的时间源是准确可靠的。
在使用ntp和chrony服务之后,我们还可以通过这两个服务的管理工具来进一步确保服务器时间的准确性,例如ntpdate和ntpq,以及chronyd和chronyc。
使用这些工具,我们可以轻松地管理和维护我们的Linux服务器,确保时间同步正确,使我们的服务更加稳定和可靠。