ntpd就是ntp daemon。是一个系统的后台进程(system daemon),用来同步本地系统时钟和远程NTP时间服务器的时间,或者其他参考时间源。
该程序实现了全部的NTP4协议,并对版本3,2,1,进行了兼容。
的定义该程序可以工作在client/server模式,symmetric模式,broadcast模式。
ntpd通常需要一个配置文件/etc/ntp.conf,ntpd后面的选项和命令可以写在该配置文件中。通常,ntpd启动后会读取ntp.conf文件。也可以在ntpd后面接相应指令,让ntpd不考虑该配置文件。
ntpd可以自动发现远程服务器并自动配置。
nptd通常连续工作,隔一段时间调整一次系统时间。也可以在调整完系统时间后自动退出,如果没有收到NTP服务器的回复,将会超时退出。
ntpd选项:
-4:仅使用IPv4域名
-6:仅使用IPv6域名
-t key/trustedkey key : 添加一个秘钥到信任秘钥列表,可重复添加
-a/enable auth:对广播/多播客户端需要密码认证(默认)
-A/disable auth : 不对广播/多播客户端进行密码认证(不推荐)
-b:允许客户端与广播服务器同步
-r broadcastdelay:指定广播或多播服务器到客户端的默认的传播延迟。只有在不能自动计算该延迟时才使用
-c conffile : 指定配置文件(默认配置文件在/etc/ntp.conf)
-f drift_file/driftfile drift_file : 指定时差记录文件
-k key_file/keys key_file : 指定密钥文件
-l log_file/logfile log_file : 指定日志文件
-p pid_file/pidfile pid_file : 指定记录ntpd进程ID的文件
-s stats_dir/statsdir stats_dir:指定统计文件
-q : ntpd一旦与服务器同步后即退出,该选项可以替代ntpdate程序。可与-g和-x选项组合使用。注意:该选项禁止校准内核时间。
-m:一旦系统时钟同步后,在nDNS上注册为可用服务器
-g:通常如果系统时间与服务器时间差别太大(默认是1000秒),ntpd则会自动退出,并记录到日志文件。该选项允许不理会该门限。但该命令只能有效一次,如果第一次同步后,客户端的时差依然超过门限,则ntpd会自动退出,并记录在日志文件。该命令可与-q和-x选项组合使用。
-x : 通常,如果客户端时间偏差比一个门限值小(通常为128ms),则时间会慢慢精调(slew),当比该门限大时,时间会立刻调整(step)。该指令将该门限设置成600s。这个门限有利于手动调整时间,但如果要用slew来调整该误差,则需要大概14天,因为UNIX调整时间的速度时0.5s/s。注意:该选项禁止校准内核时间。
-n : 不创建进程
-N:ntpd运行在最高优先级
-M:使用timeBeginPeriod提高调度的优先级到最高(1ms),该选项仅在windows系统有效。
-d : 不进入后台进程,工作在debug模式。允许打印调试信息,可以重复使用。类似于提高调试信息输出量的等级
-D level:指定调试信息输出量的等级
-U interface update interval : 接口列表扫描更新频率。设置成0为不动态更新,默认为5分钟
-v variable/-V variable:添加一个系统变量
-i jail_dir : chroot到jail_dir目录,这意味着ntpd启动后放弃root权限。只有当系统允许以非root权限运行ntp服务时该选项有效。需要配合-u选项使用
-u user[:group]:指定运行在特定用户或组。只有当系统允许以非root权限运行ntp服务时该选项有效。目前,该选项仅在NetBSD 系统有效(需要在配置时使用 –enable-clockctl) 和 Linux系统有效 (需要在配置时使用 –enable-linuxcaps)。
–usepcc:为QueryPerformanceCounter调整处理器周期计数(PCC——processor cycle counter)。只有当PCC频率固定时才可使用该指令。
–pccfreq frequency:使用给定的frequency(Hz)值,为QueryPerformanceCounter调整处理器周期计数(PCC——processor cycle counter)。该选项仅用于不使用PCC实现QueryPerformanceCounter且有固定PCC频率的操作系统。给定的frequency必须与真实频率相差小于0.5%。建议优先使用–usepcc指令。对于x86架构的处理器,PCC也叫做RDTSC,是一条用于获取当前PCC值的汇编指令。
-I [address | interface name]:该命令已废弃
-L:该命令已经废弃
用到的文件及其对应命令
File | Default | Option | Option |
---|---|---|---|
configuration file | /etc/ntp.conf | -c | conffile |
frequency file | none | -f | driftfile |
leapseconds file | none | leapfile | |
process ID file | none | -p | pidfile |
log file | system log | -l | logfile |
include file | none | none | includefile |
statistics path | /var/NTP | -s | statsdir |
keys path | /usr/local/etc | none | keysdir |