• 网络时间协议 (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

  • 相关阅读:
    习题8-2 在数组中查找指定元素 (15分)
    习题8-1 拆分实数的整数与小数部分 (15分)
    练习8-8 移动字母 (10分)
    练习8-2 计算两数的和与差 (10分)
    习题6-6 使用函数输出一个整数的逆序数 (20分)
    狼人杀心得
    PHP配置文件详解
    15个实用的PHP正则表达式
    浅谈 PHP 中的多种加密技术及代码示例
    每个程序员都应该知道的 16个最佳 PHP 库
  • 原文地址:https://www.cnblogs.com/klb561/p/10924370.html
Copyright © 2020-2023  润新知