ntpclient是一个用于与NTP(Network Time Protocol,网络时间协议)服务器通信并测量系统时间的工具。我这里用的是"ntpclient_2024_132"。下载源码编译后会得到一个ntpclient程序。
下面是对ntpclient每个选项的解释:
`-c count`: 设置在进行指定次数的时间测量后停止(默认为0,表示无限次)
`-d`: 打印诊断信息(该功能可以在编译时禁用)
`-g goodness`: 在获得比指定精度更准确的结果后,使ntpclient停止(单位为微秒,默认为0,表示永远运行)
`-h hostname`: (必填项)指定NTP服务器的主机名,用于测量系统时间
`-i interval`: 每隔指定的秒数检查一次时间(默认为600秒)
`-l`: 尝试使用adjtimex(2)锁定本地时钟到服务器
`-p port`: 本地NTP客户端UDP端口(默认为0,表示"任何可用")
`-q min_delay`: 事务的最小包延迟(默认为800微秒)
`-r`: 基于标准输入的回放分析代码
`-s`: 简单的时钟设置(相当于`-c 1`)
`-t`: 信任网络和服务器,不进行RFC-4330推荐的交叉检查
使用示例:
ntpclient -s -h ntp.aliyun.com
# 或者加个timeout命令限制一下ntpclient运行时常,防止有些异常情况时ntpclient一直阻塞,
# timeout 10 表示限制10秒。
timeout 10 ntpclient -s -h ntp.aliyun.com
如果硬件支持RTC,则设置一下RTC:
hwclock -uw