概述
随着时间的推移,计算机的时钟会倾向于漂移. 网络时间协议 (NTP) 是一种确保您的时钟保持准确的方法。当硬件设备不带电池和无RTC的时候,基本靠网络时间协议来进行同步时间
NTP服务器
为了同步系统时钟,首先需要找一个NTP服务器使用, 一下这个同步时间的速度比较快,如:
代码语言:javascript复制pool.ntp.org
cn.pool.ntp.org
0.pool.ntp.org
2.pool.ntp.org
3.asia.pool.ntp.org
0.asia.pool.ntp.org
选择多个服务器的好处: 当某个服务器不通的时候,或者时钟不可靠的时候可以有别的选择,因为ntpd会智能选择智能地选择它收到的响应──它会更倾向于使用可靠的服务器。
基本配置
如果只想在系统启动时同步时钟,可以使用ntpdate. 绝大机器都会运行ntpd,ntpd渐进地修正时钟,而 ntpdate 则直接设置时钟.
buildroot配置NTP
- make menuconfig
- Target packages -> Libraries -> Networking -> ntpd/ntpdate 两个都需要勾选
配置文件说明:
- buildroot中ntp的路径:buildroot/package/ntp/ntpd.etc.default
# NTP Servers to use for ntpdate
NTPSERVERS="pool.ntp.org"
NTPSERVERS="cn.pool.ntp.org"
NTPSERVERS="0.pool.ntp.org"
NTPSERVERS="2.pool.ntp.org"
NTPSERVERS="3.asia.pool.ntp.org"
NTPSERVERS="0.asia.pool.ntp.org"
# Get initial time via ntpdate?
NTPDATE=yes
NTPDATE_OPTS="-t 2 -p 2"
// -t 指定等待响应的时间,给定TimeOut的值四舍五入为0.2 秒的倍数,缺省值是 1 秒
// -p 指定从每个服务器获取的样本的数目,取值的值在 1 和 8 之间
# Start the ntp daemon?
NTPD=yes
启动
- ntpdate -t 2 -p 2 -u pool.ntp.org
- 同步时间,如果快速同步时间,可以适当修改-t / -p参数的数值
- -t : 指定等待响应的时间
- -p : 指定从每个服务器获取的样本数量
- -d : 开启调试接口,并不设置时钟
参考
- 通过 NTP 进行时钟同步
- ntpdate 命令