网络时间协议 (SNTP)

sntp是简单网络时间协议(Simple Network Protocol)的客户端,可以用来查询或修正NTP服务器的时间和本地的时差。
sntp可以以非交互模式运行或运行一个计划任务的脚本。
sntp支持全部的SNTP协议,但不支持NTP协议中的访问控制,安全机制等功能。
默认情况下,sntp只显示服务器和本地时差,如果需要修正本地时间时,需要以root权限运行
如果sntp程序收到了有效的回复,则返回0,否则返回非0。

sntp可以工作在广播多播或者单播模式。
广播或多播模式下,sntp等待SNTP服务器的广播信息,直到超时。广播或多播地址可以通过-b设置,超时门限用-B设置。
如果没有设置广播地址,则sntp工作在单播模式下。此时sntp会向每一个地址发送一条请求,然后等待回复,直到超时。超时门限用-u设置。

默认情况下,sntp输出的是本地时间和日期而不是UTC时间。输出格式为
2011-08-04 00:40:36.642222 (+0000) +0.006611 +/- 0.041061 psp-os1 149.20.68.26 s3 no-leap
其中 +0.006611 +/- 0.041061 代表时间偏差和误差边界,单位为秒。
psp-osl 149.20.68.26代表服务器的主机和IP地址
s3代表服务器的层次数(stratum)
最后是闰秒指示

参数和选项:
-?, –help:显示帮助信息
–version:显示版本信息

-4, –ipv4:只使用IPv4地址
-6, –ipv6:只使用IPv6地址

-o ntpver, –ntpversion ntpver:设置所使用的ntp版本,默认为4
-r, –usereservedport:默认情况下sntp使用系统分配的UDP端口,该选项可以让snpt使用NTP协议的保留端口123。(需要root权限,仅用于调试)

-d, –debug-level:提升一个调试输出等级
-D level, –set-debug-level level:设置调试信息输出等级为level,默认为0
-l logfile, –filelog logfile:指定日志文件
-K kodfile, –kod kodfile:指定KoD (Kiss Of Death, or rate-limiting) 记录文件。默认为/var/db/ntp-kod。如果该文件不存在sntp将给出警告并不会创建该文件。

-g delay, –gap delay:
-c, –concurrent:轮询
-b bc_addr, –broadcast bc_addr:设置监听NTP报文的广播或多播地址
-B bc_timeout, –bctimeout bc_timeout:设置监听广播或多播的超时门限,默认是68秒,因为ntpd的默认广播或多播间隔为64秒。
-u uc_timeout, –uctimeout uc_timeout:设置单播模式下的超时门限为uc_timeout,单位为秒。默认为5秒。

-S, –step:立即调整本地时间与服务器时间相同。(需要root权限)
-s, –slew:使用adjtime()缓慢调整本地时间。(需要root权限)
-M step_limit, –steplimit step_limit:如果-s和-S选项都被使用,则该选项用于设置调整方式门限。当时差大于step_limit时将使用step方式调整,当误差小雨step_limit时将使用-s方式调整。

–wait:如果没有使用-s或-S调整时间,sntp会在第一次收到有效回复后自动退出,该选项设置sntp继续等待后继回复

-a keynum, –authentication keynum:使用身份验证密码
-k keyfile, –keyfile keyfile:指定身份验证密码的文件


linux(suse)系统时间的同步和修改

命令sntp -P no -r [某授时中心域名] 可以将系统时间和授时中心的时间进行同步,如果单纯想把时间设置为某个值可以使用date -s [时间] 命令。但是这样设置的时间在服务器重启之后会丢失,原因是系统重启时会用硬件时间重新设置系统时间。

命令 hwclock --systohc //或者 hwclock -w 可以用系统时间同步硬件时间。

一般在做了以上两步之后,即使重启系统之后,系统时间也会保留重启之前的值。但是有些系统可能还需要清除时间校正文件(rm /etc/adjtime),才能使设置的时间不会因为重启而改变。

时间校正文件/etc/adjtime中保存了一个用来估算硬件时间的偏差的校正因子,系统每次重启会根据校正因子调整硬件时间。所以要想使设置时间在重启后保留,需要删除掉时间校正文件,系统在重启后会重新创建一个新的时间校正文件。
---------------------
https://blog.csdn.net/iloli/article/details/6431757

原文地址:https://www.cnblogs.com/klb561/p/10924370.html