我在设置为修补到 SLES11sp4 服务包的机器上维护一些 cronjobs,看来该服务包正在将 sntp 从版本 4.2.4p8 升级到 4.2.8p2,并且在这些版本中的某个地方他们删除了“-P”参数。
来自老人页面:
-P prompt
sets the maximum clock change that will be made automatically to
maxerr. Acceptable values are from 1 to 3600 or no, and the default is
30. If the program is being run interactively in ordinary client mode,
and the system clock is to be changed, larger corrections will prompt
the user for confirmation. Specifying no will disable this and the
correction will be made regardless.
我在 cron 作业中非常简单地使用它:
/usr/sbin/sntp -P no -r $ips[1] >& /dev/null
/usr/sbin/sntp -P no -r $ips[2] >& /dev/null
其中 $ips 希望是一些 IP 地址。
我在新版本中没有看到任何像这样的东西或安静模式或任何有用的东西。那么,这只是默认设置吗?我可以删除“-P”,还是还有其他需要做的事情
答案1
看来sntp在版本4.2.4p8(2009/12/8发布)和4.2.6(2009/12/12发布)之间被重写。这变更日志(内部)版本 4.2.5p201 表示:
2009/08/13 哈兰斯坦恩发布
* sntp:淘汰旧的,引进新的。
...这就是 sntp 的 -P 标志消失的点。
新版本的联机帮助页有示例用法示例,其中之一是:sntp -S ntpserver.somewhere
,它对应于旧-r
标志的用途。它似乎没有采用多个“ntpserver.somewhere”选项,所以我不知道针对不同的 NTP 服务器运行两次是否有任何好处。
答案2
ntpdate -b ntpserver
通常在启动时使用来设置时间并完全按照您的需要进行操作。它能满足您的需求吗?