ntpd和ntpdate
以无GUI 的Ubuntu 为例
1. ntpdate
ntpdate是Ubuntu发行版的标配。按Ubuntu14.04的官方文档(这里),Ubuntu在启动时,会调用ntpdate,根据Ubuntu NTP server更新系统时间,但我实际测试却并不成功。
注:测试方法:sudo sysv-rc-conf npt off -> 修改为一个过去的时间sudo date -s hh:mm:ss ,并用date检查是否已修改-> 同步到硬件sudo hwclock -w ->
sync;sync;sync;sudo reboot ->开机后等待10分钟,发现date还是错误时间。
所以,对于客户端,那就在crontab中增加一个任务,如下,其中weblbserver-1是ntp服务器,如果你想出错时(比如weblbserver无法连接)发邮件,那要设置MAILTO=yourmail,
并且还要安装postfix,安装也非常简单,直接用apt-get install就行,安装完无需任何配置。
*/ * * * * root (ntpdate weblbserver- && hwclock -w) > /dev/null
如果开启了nptd服务,那就无法执行ntpdate了,如下
zhj@test:~$ sudo service ntp status
* NTP server is running
zhj@test:~$
zhj@test:~$ sudo ntpdate pool.ntp.org
Dec :: ntpdate[]: the NTP socket is in use, exiting
zhj@test:~$
2. ntpd
下面是自己的ntp server——weblbserver-1的配置文件/etc/ntp.conf,它是集群中的一台服务器,它允许集群内的其它服务器从它这里获取时间。
该配置文件修改后,要调用sudo service ntp reload重新加载。另外,注意在ntp server上要在防火墙中放行UDP 123号端口
ntpd启动后,要等4*2^(minpoll ~ maxpoll) 秒才能真正开始同步,所以minpoll和maxpoll不要设置的太大。
配置文件参数含义可参考 http://wenku.baidu.com/view/e3282cc62cc58bd63186bd41.html
# /etc/ntp.conf, configuration for ntpd; see ntp.conf() for help driftfile /var/lib/ntp/ntp.drift # Enable this if you want statistics to be logged.
#statsdir /var/log/ntpstats/ statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable # Specify one or more NTP servers. # Use servers from the NTP Pool Project. Approved by Ubuntu Technical Board
# on -- (LP: #). See http://www.pool.ntp.org/join.html for
# more information.
# 参数minpoll和maxpoll都是2的幂,下面即设置2^9=512秒同步一次
server .ubuntu.pool.ntp.org minpoll 9 maxpoll
server .ubuntu.pool.ntp.org minpoll maxpoll
server .ubuntu.pool.ntp.org minpoll maxpoll
server .ubuntu.pool.ntp.org minpoll maxpoll # Access control configuration; see /usr/share/doc/ntp-doc/html/accopt.html for
# details. The web page <http://support.ntp.org/bin/view/Support/AccessRestrictions>
# might also be helpful.
#
# Note that "restrict" applies to both servers and clients, so a configuration
# that might be intended to block requests from certain clients could also end
# up blocking replies from your own upstream servers. # By default, exchange time with everybody, but don't allow configuration.
restrict - default kod notrap nomodify nopeer noquery
restrict - default kod notrap nomodify nopeer noquery # Local users may interrogate the ntp server more closely.
restrict 127.0.0.1
restrict :: # Clients from this (example!) subnet have unlimited access, but only if
# cryptographically authenticated.
# 放行局域网内的主机,可以从本机获取ntp时间,但不能修改本机的时间
restrict 192.168.0.0 mask 255.255.0.0 nomodify
同时,在本ntp server主机增加一个定时任务,每小时将osclock刷入hwclock,如下,如果想发邮件,要设置MAILTO,并安装postfix
*/ * * * * root hwclock -w > /dev/null
我们可以用ntpq -p来查看本机与上层NTP server的时间同步情况,如下
zhj@weblbserver-:~$ ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
dns1.synet.edu. 202.118.1.46 u 43.464 -134.79 0.004
golem.canonical 192.93.2.20 u 433.083 -198.90 0.004
zhj@weblbserver-:~$
remote ——亦即 NTP 主机的 IP 或主机名,注意最左边的符号
- 如果有『 * 』代表目前正在作用当中的上层 NTP
- 如果是『 + 』代表也有连上线,而且可作为下一个提供时间更新的候选者
- 如果是空格,那代表还没有连接
refid —— 参考的上一层 NTP 主机的地址
st —— 就是 stratum 阶层,ntp允许的层数为1~15
when —— 上次同步时间到现在的距离,单位是秒。当然,如果ntp服务是刚启动,还没同步过,那这个参数就是ntp服务启动后到现在的距离
poll —— 同步周期,单位为秒
reach —— 它是八进制数,正常情况下值为[0, 1, 3, 7, 17, 37, 77, 177, 377],对应的二进制为[0, 1, 11, 111, 1111, 11111, 111111, 1111111, 11111111],
ntp服务启动后,reach就以poll值为周期与ntp server通信,为了方便理解,我们可以简单的认为每次ping一下上层ntp server,如果成功,那
reach就向左移一位,右边补1,如果失败,则右边补0,所以如果reach不是上面给出的枚举值,那就是在通信过程中出错了。当reach 达到17时
(对应1111,即最近的四次通信都成功了),那才开始同步时间,这时,remote项对应的域名或IP列表有,其中一个前面会有*号,表示该IP就是
NTP server。而在开始同步时间之前,当客户端访问weblbserver-1这个NTP server时,都会出现stratum 16,no server suitable for
nchronization found这样的错误。也就是说如果你在NTP server主机上重启了ntp服务,那要等4*poll秒(在前四次通信都是成功的前提下),
该NTP server才与上层NTP server开始同步时间,而且只有当开始同步时,该NTP server才能为其它客户端提供NTP服务。因此,你在/etc/ntp.conf
中设置的同步周期minpoll maxpoll不能太大,因为每次ntp服务重启后,要等4倍长的时间才能开始同步。
offset —— NTP server与本机的时间差,单位为毫秒,即10^(-3) 秒。如果这个值比较大,那就要考虑缩短同步周期了
delay —— 网络传输过程当中延迟的时间,单位为 10^(-6) 秒
jitter —— Linux 系统时间与 BIOS 硬件时间的差异时间, 单位为 10^(-6) 秒
ntpd和ntpdate的更多相关文章
- 分布式集群中,设定时间同步服务器,以及ntpd与ntpdate的区别
什么时候配置时间同步? 当分布式集群配置好了以后,马上配置的是SSH无密钥配置,然后就是配置时间同步. 时间同步在集群中特别重要. 一:时间同步 1.时间同步 集群中必须有一个统一的时间 如果是内网, ...
- Linux下的ntpd和ntpdate
两者有个比较实质性的差异是,ntpd在实际同步时间时是一点点的校准过来时间的,最终把时间慢慢的校正对.而ntpdate不会考虑其他程序是否会阵痛,直接调整时间.一个是校准,一个是调整.另外ntpd 在 ...
- linux时间同步,ntpd、ntpdate
linux时间同步,ntpd.ntpdate 在Windwos中,系统时间的设置很简单,界面操作,通俗易懂.而且设置后,重启,关机都没关系.系统时间会自动保存在Bios的时钟里面,启动计算机的时候,系 ...
- ntpd与ntpdate的区别
之前配置ntpd的时候搜到一句话,印象很深刻,也觉得很有标题党的效果,就借鉴为标题了:“我认为有几种人是必须不招聘/裁掉的: 1 用ntpdate代替ntpd的人”但具体原因不太懂,总觉得还是用ntp ...
- Linux 时间同步 02 ntpd、ntpdate的区别
Linux 时间同步 02 ntpd.ntpdate的区别 目录 Linux 时间同步 02 ntpd.ntpdate的区别 [一]这样做不安全. [二]这样做不精确. [三]这样做不够优雅. ntp ...
- 时间篇之centos6下修复的ntp操作(ntpd和ntpdate两个服务区别)
系统采样,本采样和命令都是在centos6.4的系统中进行 主要比较centos7和centos6之间的差异,因为大部分都开始采用centos7但是有些老系统还采用centos6,这样我们就需要熟悉c ...
- ntpd和ntpdate的区别
之前配置ntpd的时候搜到一句话,印象很深刻,也觉得很有标题党的效果,就借鉴为标题了:“我认为有几种人是必须不招聘/裁掉的: 1 用ntpdate代替ntpd的人”但具体原因不太懂,总觉得还是用ntp ...
- 030 分布式集群中,设定时间同步服务器,以及ntpd与ntpdate的区别
什么时候配置时间同步? 当分布式集群配置好了以后,马上配置的是SSH无密钥配置,然后就是配置时间同步. 时间同步在集群中特别重要. 一:时间同步 1.时间同步 集群中必须有一个统一的时间 如果是内网, ...
- ntpd、ntpdate、hwclock的区别
hwclock --systohc 使用ntpdate更新系统时间 - 潜龙勿用 - CSDN博客https://blog.csdn.net/suer0101/article/details/7868 ...
随机推荐
- Gradle学习系列(一)
今天就开始学习Gradle构建了,听说很牛X.本篇内容就带领我初步窥探Gradle的世界. 1.什么是Gradle 相信之前都接触过用Ant或者Meavn进行项目的构建,两者各有千 ...
- CodeSmith listview属性
private void button1_Click(object sender, EventArgs e)//将数据库中读出来的信息直接显示在listview里 { //连接数据库 SqlConne ...
- 【笨嘴拙舌WINDOWS】GDI(2)
古时候,大师舞文之时需要笔墨纸伺候,不同笔,不同墨,作品风格迥异! 以下是windows提供的笔(带有墨): CreatePen(PS_SOLID,0,clRed); ...
- LA 3695 Distant Galaxy
给出n个点的坐标(坐标均为正数),求最多有多少点能同在一个矩形的边界上. 题解里是构造了这样的几个数组,图中表示的很明白了. 首先枚举两条水平线,然后left[i]表示竖线i左边位于水平线上的点,on ...
- KVC&KVO&NSNotification
KVC,即是指 NSKeyValueCoding,一个非正式的 Protocol,提供一种机制来间接访问对象的属性.KVO 就是基于 KVC 实现的关键技术之一. 一个对象拥有某些属性.比如说,一个 ...
- HDU 5375 Gray code 格雷码(水题)
题意:给一个二进制数(包含3种符号:'0' '1' '?' ,问号可随意 ),要求将其转成格雷码,给一个序列a,若转成的格雷码第i位为1,则得分+a[i].求填充问号使得得分最多. 思路:如果了 ...
- PHP配置文件详解php.ini [转]
[PHP] ; PHP还是一个不断发展的工具,其功能还在不断地删减 ; 而php.ini的设置更改可以反映出相当的变化, ; 在使用新的PHP版本前,研究一下php.ini会有好处的 ;;;;;;;; ...
- Python 删除 数组
numpy删除一列 从0开始,第三个参数是第几个维度 可以多删几个
- ecshop首页调用评论及图片
1.在library文件夹中建立一个名为index_comment.lbi文件 2.输入以下代码 <meta http-equiv="Content-Type" conten ...
- 计算机视觉入门 Intorduction To Computer Vision
本文将主要介绍图像分类问题,即给定一张图片,我们来给这张图片打一个标签,标签来自于预先设定的集合,比如{people,cat,dog...}等,这是CV的核心问题,图像分类在实际应用中也有许多变形,而 ...