我是靠谱客的博主 发嗲裙子,最近开发中收集的这篇文章主要介绍Linux时钟同步(二),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Windows 与 Ubuntu 时钟同步
1.安装:
1.1.windows上安装ntp
百度中搜ntp for Windows可以找到官方网站
软件下载:https://www.meinbergglobal.com/english/sw/ntp.htm
安装说明:http://www.satsignal.eu/ntp/setup.html
1.2.Ubuntu上安装ntp
直接apt-get install ntp即可

2.使用:
其中一台作为服务器另一台作为客户端(window的cmd要以管理员身份运行)
(在开始处单击右键<命令提示符(管理员)<弹出管理员权限的cmd窗口)
举例:以Windows做为服务器
2.1.Windows作为服务器
2.1.1在Windows上安装完ntp软件以后(软件自带了ntpdate命令,不需要再安装ntp客户端了)
将安装目录‘’Tools/etc/ntp,conf‘’文件中
去除server 127.127.1.0和fudge 127.127.1.0 stratum 12 前的#符号
(最好将stratum 12 改成 stratum 10)
然后重启ntp:先用命令net stop ntp再用命令net start ntp
2.1.2在Ubuntu的root权限下运行 ntpdate -b ip(服务器ip地址)即可同步两台机器的时间

常见问题:
1、出现错误:ntpdate[5588]: bind() fails: Permission denied
以管理员身份在cmd中运行ntpdate -b 192.168.195.129
2、出现错误:7 Jun 17:01:28 ntpdate[5588]: bind() fails: Permission denied
解决方法:这是由于没有关闭ntp的原因,ntp和ntpdate不能同时运行。cmd使用net stop ntp或者Terminal使用service ntp stop之后就可以正常运行了。(关闭客户端)
3、出现错误:运行ntpdate -b ip后出现ntpdate[4565]: the NTP socket is in use, exiting
解决方法:service ntp stop关闭ntp服务(ntp客户端和服务端只能同时存在一个)
4、出现错误:7 Dec 19:24:55 ntpdate[2120]: the NTP socket is in use, exiting
这个是你linux机器上已经存在这个进程,输入:ps -ef | grep ntpd 可以Kill掉ntp的进程
5、出现错误:No Server suitable for synchronization found
这个是最容易出现的问题,比较常见的是配置好服务器并启动服务器进程后,马上
启动客户进程,那么客户进程就会报错。
可采用以下步骤检测:
(1) 在NTP服务端执行以下命令检测NTP服务是否运行
#service ntpd status
(2) 运行ping命令检测NTP客户端与NTP服务端是否连通
#ping NTP服务端IP
(3) 在NTP客户端执行 ntpdate -d NTP服务端IP:
如果输出结果如下:
6 Nov 10:23:16 ntpdate[3521]: ntpdate 4.2.2p1@1.1570-o Tue Nov 18 07:40:49 UTC 2008 (1)
Looking for host 10.75.80.47 and service ntp
host found : 10.75.80.47
transmit(10.75.80.47)
transmit(10.75.80.47)
transmit(10.75.80.47)
transmit(10.75.80.47)
transmit(10.75.80.47)
10.75.80.47: Server dropped: no data
……
……

6 Nov 10:23:20 ntpdate[3521]: no server suitable for synchronization found
如果出现以上情况,请按以下步骤处理:
a) 检查NTP服务端使用的ntp版本:
#ntpq -c version
如果输出版本是ntp4.2(包括4.2)之后的版本,则请检测是否在restrict的定义中使用了notrust。如果有则删除notrust,再进行NTP时间同步。
b) 检查NTP服务端的防火墙是否开放NTP服务端口:udp 123
#service iptables stop
执行以上命令关闭NTP服务端的防火墙,然后再进行NTP时间同步,如果成功,则需要修改iptables的设置,以开放NTP服务端口:
#setup #进入配置界面

在配置界面选择Firewall configuration进入防火墙配置界面:

在防火墙配置界面中选择Customize进入详细的配置界面:

按图中方式加入ntp:udp以运行NTP服务通过防火墙。
9) 如果输出结果如下:
5 Nov 19:02:27 ntpdate[28566]: ntpdate 4.2.2p1@1.1570-o Fri Sep 4 18:54:46 UTC 2009 (1)
Looking for host 10.75.80.55 and service ntp
host found : 10.75.80.55
transmit(10.75.80.55)
receive(10.75.80.55)
transmit(10.75.80.55)
receive(10.75.80.55)
transmit(10.75.80.55)
receive(10.75.80.55)
transmit(10.75.80.55)
receive(10.75.80.55)
transmit(10.75.80.55)
10.75.80.55: Server dropped: strata too high
……
……

5 Nov 19:02:27 ntpdate[28566]: no server suitable for synchronization found
出现以上情况的原因是由于NTP Server还没有和自身或其他NTP Server保持同步,因此需在ntp的配置文件ntp.conf中加入以下语句以保证NTP Server与自身同步:
server 127.127.1.0
fudge 127.127.1.0 stratum 10

注意:在NTP Server重新启动NTP服务后,NTP Server自身或与其他NTP
Server的同步大概需要5分钟左右,因此NTP客户端在这个时间段运行ntpdate命令时会产生no server suitable for synchronization found错误。

我想每隔10分钟就和Windows服务同步时间
(1)创建自己的一个crontab文件,随便建立一个文件date.cron,首先可以使用任何文本
编辑器建立一个新文件,然后向其中写入需要运行的命令和要定期执行的时间。
vi date.cron加入下面要运行的命令和要定期执行的时间
*/10 * * * * /usr/sbin/ntpdate 192.168.1.32
然后存盘退出
(2)使用crontab命令来安装这个文件,使之成为该用户的crontab文件。键入:
crontab date.cron
这个文件已经建立好了
(3)使用命令:
crontab -l (查看安排的作业序列)可以看到刚才的作业
如:
[root@NXD-TEST root]# crontab -l
现在就OK了,每隔10分钟Linux就和服务端同步一次

最后

以上就是发嗲裙子为你收集整理的Linux时钟同步(二)的全部内容,希望文章能够帮你解决Linux时钟同步(二)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(61)

评论列表共有 0 条评论

立即
投稿
返回
顶部