Linux NTP服务器的搭建及client自动更新时间
Network Time Protocol(NTP)是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正(LAN上与标准间差小于1毫秒,WAN上几十毫秒),且可介由加密确认的方式来防止恶毒的协议攻击。
一.ntp服务器搭建
1.安装软件
yum install ntp #服务器程序
yum install ntpdate #自动更新时间服务
2.启动服务
chkconfig --level 35 ntpd on
chkconfig --level 35 ntpdate on
service ntpd start #ntpd服务不能和ntpdate服务同时启动
service ntpdate start # ntpd服务不能和ntpdate服务同时启动
ntpd与ntpdate在更新时间时是有的区别。ntpd不仅仅是时间同步服务器,他还可以做客户端与标准时间服务器进行同步时间,而且是平滑同步,并非ntpdate立即同步,在生产环境中慎用ntpdate,也正如此两者不可同时运行。
3.修改配置文件
(1)cat/etc/ ntp.conf |grep -v "#"
删除以前的内容,直接添加以下内容即可
driftfile /var/lib/ntp/drift
restrict default nomodify notrap noquery
restrict 127.0.0.1
restrict -6 ::1
restrict 192.168.100.0 mask 255.255.255.0 nomodifynotrap
server ntp.sjtu.edu.cn prefer
server 1.centos.pool.ntp.org
server 2.centos.pool.ntp.org
server 0.centos.pool.ntp.org
server 127.127.1.0
fudge 127.127.1.0stratum 10
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
logfile /var/log/ntp/ntp.log
time correct to within 10ms
polling server every 30s
(2)在/etc/sysconfig/ntpd中添加如下信息,同步硬件时钟
SYNC_HWCLOCK=yes
NTPDATE_OPTIONS=""
(3) /usr /share/zoneinfo/ #在这个目录下的文件规定了各主要时区的时间设定文件
(4) /etc/sysconfig/clock #每次开机后,Linux 会自动的读取这个文件来设定自己系统所默认要显示的时间。
ZONE="Asia/Chongqing"
(5) /etc /localtime #这个文件就是“本地端的时间配置文件”。上面那个clock 文件里面规定了使用的时间设置文件(ZONE) 为/usr/share/zoneinfo/Asia/Chongqing ,所以说这就是本地端的时间了,此时, Linux系统就会将那个文件另存为一份 /etc/localtime文件。
4.查看服务启动状态
netstat -ln|grep 123 #ntpd的端口
udp 0 0 192.168.3.1:123 0.0.0.0:*
udp 0 0 192.168.110.9:123 0.0.0.0:*
udp 0 0 127.0.0.1:123 0.0.0.0:*
udp 0 0 0.0.0.0:123 0.0.0.0:*
udp 0 0fe80::21f:29ff:fe02:11a1:123 :::*
udp 0 0 ::1:123 :::*
udp 0 0 :::123 :::*
5.查看时间同步情况
指令“ntpq -p”可以列出目前我们的NTP与相关的上层NTP的状态,以上的几个字段的意义如下:
remote:即NTP主机的IP或主机名称。注意最左边的符号,如果由“+”则代表目前正在作用钟的上层NTP,如果是“*”则表示也有连上线,不过是作为次要联机的NTP主机。
refid:参考的上一层NTP主机的地址
st:即stratum阶层
when:几秒前曾做过时间同步更新的操作
poll:下次更新在几秒之后
reach:已经向上层NTP服务器要求更新的次数
delay:网络传输过程钟延迟的时间
offset:时间补偿的结果
jitter:Linux系统时间与BIOS硬件时间的差异时间
也可以执行watch ntpq –p 查看同步情况
6.ntpstat查看服务器上一次与上级服务器同步时间的情况
如果出现:
unsynchronised
time serverre-starting
pollingserver every 64 s
说明时间服务器还没有与上一级ntp服务器通信成功,需要等待3---5分钟左右。
成功更新之后会显示如下信息:
synchronised to NTP server (202.120.2.101) at stratum4
time correctto within 51 ms
pollingserver every 64 s
二、ntp客户端设置
客户端的设置其实和服务器的设置是一样的,因为客户端还可以为下级计算机提供自动更新时间服务。所以可以在客户端进行同样的配置,只不过在配置ntp.conf文件的时候把上一级ntp服务器指向我们刚才配置好的ntp 服务器。
在客户端也可以不用启动ntpd服务,这时就可以ntpdate更新时间了。
执行 ntpdate ntpserverIP #即可更新时间,前提是关掉ntpd服务,否则会报19 Jun 17:23:14 ntpdate[2280]: the NTP socket is inuse, exiting 错误,意思是端口被占用。
在停掉ntpd服务之后,修改系统的配置文件让定期自动执行ntpdate以便自动同步时间。
vim /etc/crontab #打开并添加如下信息,crontab是一个定期执行任务的程序。
10 7 * * * root /usr/sbin/ntpdate 202.120.2.101;/usr/sbin/hwclock-w #每天早上的7点10 自动与202.120.2.101 时间服务器自动同步时间,并写入硬件中。
service crond restart #crond是crontab的守护进程
ntptrace –n 127.0.0.1 如果没有这个命令,需要安装ntp-perl包
[root@centos*09:04~]#ntptime
ntp_gettime()returns code 0 (OK)
time d56e257a.561dd9e8 Fri, Jun 21 2013 9:06:02.336, (.336393292),
maximum error 311781 us, estimated error 4437us, TAI offset 0
ntp_adjtime()returns code 0 (OK)
modes 0x0 (),
offset 256.021 us, frequency 25.908 ppm,interval 1 s,
maximum error 311781 us, estimated error 4437us,
status 0x2001 (PLL,NANO),
time constant 7, precision 0.001 us,tolerance 500 ppm,
Linux NTP服务器的搭建及client自动更新时间的更多相关文章
- MySQL load数据的时候自动更新时间
MySQL load数据的时候自动更新时间 前提 CREATE TABLE table_name ( dt varchar(255) NULL , ctime timestamp NULL ON UP ...
- 神奇的bug,退出时自动更新时间
遇到一个神奇的bug,用户退出时,上次登录时间会变成退出时的时间. 于是开始跟踪,发现Laravel在退出时,会做一次脏检查,这时会更新rember_token,这时就会有update操作如下. 而粗 ...
- Ntp服务器的搭建
在搭建Ntp服务器的过程中,试过两种方案,具体如下: 方案一: 到ntp官网获取源码编译,失败 下载源码ntp-4.2.8 -> ./configure -> make 无法通过: ...
- linux ntp 服务器和用户端
ntp 服务器 1.输入 rpm -qa|grep ntp 查看是否安装了ntp服务器 2.如果没安装 yum -y install ntp 安装 3.修改 /etc/ntp.conf 将原serve ...
- SVN----------项目服务器上的svn客户端自动更新设置。
1.局域网服务器上搭建了PHP项目运行的环境,然后怎么样讲根目录拉去到的项目可以随着开发人员提交的代码,自动更新成最新的代码. 2.首先将svn版本库上的代码拉取到www目录下或者你的根目录. 3.然 ...
- Linux下配置自动更新时间
1,修正本地时区及ntp服务 [root@VM_0_13_centos ~]# yum -y install ntp [root@VM_0_13_centos ~]# rm -rf /etc/loca ...
- Yii2 自动更新时间created_at updated_at
创建model之后,新建一条记录,结果设计的表中created_at 字段 updated_at 字段 都是datetime 类型的,却不能自动插入当前时间.查看了资料,解决如下: 1.在class ...
- Linux samba服务器的搭建
目录 1. 安装samba 2. 配置smb.conf 3. 创建samba登陆用户 4. 创建samba共享文件夹 5. 重启samba服务 6. 访问samba共享文件夹 7. 参考资料 1. 安 ...
- Linux SVN服务器的搭建配置及分支的创建与合并
第一步:通过yum命令安装svnserve,命令如下: >yum -y install subversion 若需查看svn安装位置,可以用以下命令: >rpm -ql subversio ...
随机推荐
- [.net core]11.异常页
.net core中的异常页很重要 因为可以查看异常的堆栈信息, 请求的参数(如果有),cookie, http头 帮助我们快速的定位问题 .net core web app 默认开启了异常页,但是 ...
- Python 进阶篇
作者:武沛齐 出处:http://www.cnblogs.com/wupeiqi/articles/5246483.html Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这 ...
- Jquery复习(二)之stop()易忘点
jQuery stop() 方法 jQuery stop() 方法用于停止动画或效果,在它们完成之前. stop() 方法适用于所有 jQuery 效果函数,包括滑动.淡入淡出和自定义动画. 语法:$ ...
- 实现 RSA 算法之 C 语言实现(第二章)(老物)
第二章 如何实现应用RSA算法 趁着白天在自家店里的闲暇时间来写写第二章了,假设记住了第一章的各种定理之后,我们又该如何实现RSA密码的加密解密呢?也懒得废话了,直接进入正题吧. 先回顾几个知识点: ...
- oracle中的多表查询和子查询以及一些注意事项
多表查询就是使用两张表及其以上的查询.首先需要知道几个名词,笛卡尔积,内连接,外连接,子查询. 1)笛卡尔积 所谓笛卡尔积其实就是两张表数据的条数相乘得到的最后结果,例如表1有10条数据,表2有4条数 ...
- IntelliJ IDEA 远程调试 Tomcat 的方法
在调试代码的过程中,为了更好的定位及解决问题,有时候需要我们使用远程调试的方法.在本文中,就让我们一起来看看,如何利用 IntelliJ IDEA 进行远程 Tomcat 的调试. 首先,配置remo ...
- 剑指offer-7:调整数组顺序使奇数位于偶数前面
一.相对位置可以改变 1.题目 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分. 2.分析 不考虑相对位置,可以类比快排,用左右 ...
- web框架-(七)Django补充---models进阶操作及modelform操作
通过之前的课程我们可以对于Django的models进行简单的操作,今天了解下进阶操作和modelform: 1. Models进阶操作 1.1 字段操作 AutoField(Field) - int ...
- Tomcat的3种部署方式
tomcat部署的三种方式及优缺点对比 部署方法一:将编译成功的web项目直接放到webapps目录中(注意是编译成功的web项目,也可以是war包): 部署方式二:修改tomcat安装目录下的 ...
- react-native window下创建Hello(解决创建一路的坑)
今天真的颇为激动,1年没有玩RN,竟然被最新的RN版本0.55.4创建Hello折腾了半天,想当年刚玩RN创建环境用了3天, 想想现在也是不容易啊半天就搞定了,目测以后创建的话也就1-2个小时就搞定了 ...