Linux下同步系统时间有rdate与ntpdate两种方法,chrony则是网络时间协议NTP的另一种实现,先确认是否安装。配置新服使用ntpdate同步系统时间,不论是关闭iptables或者设置ntp.conf,都无法正常同步。这里我使用chrony或者rdate命令。
yum install ntpdate -y
ntpdate:设置本地日期和时间。它从指定的每个服务器获得了一些样本,并应用标准NTP时钟过滤器和选择算法来选择最好的样本。
语法:
ntpdate [参数][主机名称或IP地址...]
参数:
-a Keyid使用 Keyid 来认证全部数据包。
-b 通过调用 settimeofday 子例程来增加时钟的时间。
-d 指定调试方式。判断 ntpdate 命令会产生什么结果(不产生实际的结果)。结果再现在屏幕上。这个标志使用无特权的端口。
-e AuthenticationDelay指定延迟认证处理的时间秒数。
-k KeyFile当不使用缺省值 /etc/ntp.keys 文件时,为包含密钥的文件指定一个不同的名称。请参阅文件KeyFile的描述。
-o Version当轮询它的发出数据包时,指定使用的NTP版本实现。 Version的值可以是 1,2,3。缺省值是 3。
-p Samples指定从每个服务器获取的样本的数目。Samples的值在 1 和 8 之间,并包括 1 和 8。它的缺省值是 4。
-s 指定日志操作 syslog 设施的使用,而不是使用标准输出。 当运行 ntpdate 命令和 cron 命令时,它是很有用的。
-t TimeOut指定等待响应的时间。给定 TimeOut 的值四舍五入为 0.2 秒的倍数。缺省值是 1 秒。
-u指定使用无特权的端口发送数据包。当在一个对特权端口的输入流量进行阻拦的防火墙后是很有益的,并希望在防火墙之外和主机同步。防火墙是一个系统或者计算机,它控制从外网对专用网的访问。
1、
打开UDP端口123
iptables -A INPUT -p udp -m udp --sport 123 -j ACCEPT
2、
同步时间。通常情况下没必要自己搭建时间服务器。
国内常用NTP服务器地址及IP
这里使用time.nist.gov
ntpdate time.nist.gov
3、
添加任务计划
0 */1 * * * /usr/bin/ntpdate time.nist.gov
date -s 设置时间可自行搜索
chrony是网络时间协议NTP的另一种实现,与网络时间协议后台程序(ntpd)不同,它可以更快地更准确地同步系统始终。
#yum install chrony -y
#service chronyd start
#chkconfig chronyd on
#chronyc --help
Usage: chronyc [-h HOST] [-p PORT] [-n] [-4|-6] [-a] [-f FILE] [-m] [COMMAND]
同步
#chronyd sources
210 Number of sources = 4
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^? leontp.ccgs.wa.edu.au 0 7 0 10y +0ns[ +0ns] +/- 0ns
^* dns1.synet.edu.cn 2 6 37 61 -69us[ -22ms] +/- 30ms
^- 166.111.206.172 2 6 37 60 -17ms[ -17ms] +/- 302ms
^- 61.161.155.29 2 6 37 63 +15ms[ +12ms] +/- 79ms
yum install xinetd rdate -y
rdate:用于显示其他主机的日期与时间。执行rdate指令,向其他主机询问系统时间并显示出来。
语法:
rdate [-ps][主机名称或IP地址...]
参数:
-p 显示远端主机的日期与时间。
-s 把从远端主机收到的日期和时间,回存到本地主机的系统时间。
-u 传输协议使用UDP协议
-l 使用syslog显示错误信息
-t<时间> 设置超时时间
1、
开启time-stream服务。修改/etc/xinetd.d/time-stream下“disable = yes”为“disable = no“并启动xinetd
service xinetd start
使用的端口是37,检查37端口是否开启,处于监听状态 lsof -i:37
如果不启动该服务,连接的时候会报下面的错误:"rdate: couldn't connect to host time.widnows.com: Connection refused"
2、
同步时间。
rdate -s IP/Server
3、
添加任务计划
0 */1 * * * /usr/bin/rdate –s time.nist.gov