在man ntpdate
CentOS 7.2 服务器上:
Disclaimer: The functionality of this program is now available in the ntpd program. See the -q command line option in the ntpd - Network Time Protocol (NTP) daemon page. After a suitable period of mourning, the ntpdate program is to be retired from this distribution
从man ntpd
:
-q Exit the ntpd just after the first time the clock is set. This behavior mimics that of the ntpdate program, which is to be retired. The -g and -x options can be used with this option. Note: The kernel time discipline is disabled with this option.
这模仿了命令的通常功能ntpdate
。然而,也ntpdate
有自己的标志:-q
-q Query only - don't set the clock.
我在手册页中没有看到任何ntpd
执行此功能的方法。
既然ntpdate
最终会被淘汰,那么获得ntpdate -q
当前提供的功能的、与未来兼容的首选方式是什么?
答案1
查询远程服务器
如果您想要查询远程 ntp 服务器,请使用:
# sntp 0.debian.pool.ntp.org
sntp [email protected] Sun Feb 25 21:22:25 UTC 2018 (1)
2018-10-03 04:34:02.687911 (+0400) -0.002893 +/- 0.063203 0.debian.pool.ntp.org 186.118.171.89 s3 no-leap
设置ntpd时间
如果您想要设置服务器时间:
使用最新版本的 ntpd:
# ntpd --version
ntpd [email protected] Sun Feb 25 21:22:55 UTC 2018 (1)
该-q
选项在手册中将如下所示:
-q 在第一次设置时钟后立即退出 ntpd。此行为模仿了即将退役的 ntpdate 程序。 -g 和 -x 选项可以与此选项一起使用。注意:使用此选项禁用内核时间规则。
因此,在停止 ntp 守护进程(service ntpd stop
或systemctl stop ntp
取决于您的系统)后,请使用以下命令:
# ntpd -gq
-gq 告诉 ntp 守护进程校正时间,无论偏移量如何 (g),并在设置时间后立即退出 (q)。
然后,重新启动ntpd
并检查它是否正常工作:
# ntpq -pn
答案2
ntpdate
它在 CentOS 中已经被弃用很长一段时间了,但我不知道它什么时候会真正消失。话虽如此,您可能想看一下这个sntp
包:
# sntp time.google.com
3 Oct 01:11:30 sntp[6844]: Started sntp
2018-10-03 01:11:30.209781 (+0000) -0.000086 +/- 0.000366 secs
2018-10-03 01:11:30.221572 (+0000) -0.000130 +/- 0.000259 secs
注意:这两个结果是因为默认情况下同时查询了 IPv4 和 IPv6 地址。