如何在重启后立即使ntpd同步?

时间:2014-03-31 17:25:43

标签: linux ntp

我的应用程序必须在时间同步的服务器上运行。为此,我安装了ntpd并检查了ntpstat的返回值。看起来需要很长时间才能从ntpstat获得零返回值,尤其是在重启之后。为什么ntpd如此长时间才能同步?如何在重启后几秒钟实现它?

2 个答案:

答案 0 :(得分:3)

要在重启后立即同步ntpntpdate必须在ntpd之前运行。

要在systemd中执行此操作,您可以运行

systemctl -a | grep ntp

查看是否启用了ntpdate。要启用它,只需运行

systemctl enable ntpdate

对于使用lsb脚本的Linux,您可以通过ntpdate启用chkconfig

chkconfig ntpdate on

答案 1 :(得分:2)

是的,因为它被发现 - 启动脚本调用ntpd.service,等待ntpdate.service运行。 虽然ntpdate不是服务,但是应用程序 - 它通过位于/usr/libexec/ntpdate-wrapper的好的包装器脚本运行一次,这是检查条件,其中一个 - 如果有任何服务器,在/etc/ntp/step-tickers描述。如果是 - 它会调用ntpdate与那些服务器,默认情况下由fedora安装程序设置为0.fedoratime.smth.ininternet,这不适合封闭环境。

所以有3种选择:  1.修改ntpdate包装器,他将首先查看ntp.conf  2.修改/etc/ntp/step-tickers以拥有自己的ntp服务器  3.修改ntpdate.service以不调用包装器,但只需在其配置中添加/替换行来调用命令:

[Service]
Type=oneshot
ExecStart=/usr/bin/ntpd -q -g -x
RemainAfterExit=yes