我在設定為修補到 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 位址。
我在新版本中沒有看到任何像這樣的東西或安靜模式或任何有用的東西。那麼,這只是預設嗎?
答案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
通常在啟動時使用來設定時間並完全按照您的需求進行操作。它能滿足您的需求嗎?