因为自己的ESXI电脑不经常用,不用了就关机,导致它的时间不准,就想让它能连接授时服务器自己校对时间。
网上有很多流行的NTP服务器,有的能用有的已经不能用了,挑选了几个测试一下,看看哪些好用。
一、挑选与测试NTP服务器
1、ping连接NTP服务器
网上推荐了很多NTP服务器,有国家的,有公司的,有个人的,最起码要先能ping通。能ping通这一个条件就刷走了好几个!!
最后挑选了如下几个,用Python代码循环连接100次看看结果:
成功 | 失败 | |||
1 | ntp.ntsc.ac.cn | 国家授时中心NTP服务器 | 41 | 59 |
2 | cn.pool.ntp.org | 中国大陆地区的公共NTP服务器池 | 84 | 16 |
3 | cn.ntp.org.cn | 没看出叫啥名字 这个网站提供的http://www.ntp.org.cn/ | 100 | 0 |
4 | edu.ntp.org.cn | 99 | 1 | |
5 | ntp.aliyun.com | 阿里云NTP授时服务器 | 99 | 1 |
6 | ntp.tencent.com | 腾讯云NTP授时服务器 | 84 | 16 |
7 | time.windows.com | 微软官方的服务器 | 97 | 3 |
8 | time.apple.com | 苹果官方的服务器 | 81 | 19 |
最后决定使用以下三个:
cn.ntp.org.cn,edu.ntp.org.cn,ntp.aliyun.com
2、代码连接NTP服务器
python代码如下,你可以把循环次数改少一点,花挺长时间的:
from ntplib import NTPClient
import time
ntpserver_list = ['ntp.ntsc.ac.cn','cn.pool.ntp.org','cn.ntp.org.cn','edu.ntp.org.cn','ntp.aliyun.com','ntp.tencent.com','time.windows.com','time.apple.com']
chenggong = [0,0,0,0,0,0,0,0]
shibai = [0,0,0,0,0,0,0,0]
client = NTPClient()
for i in range(1, 101):
print("正在运行第 %d 次" % i)
for ntpserver in ntpserver_list:
j = ntpserver_list.index(ntpserver)
try:
response = client.request(ntpserver)
ntp_time = response.tx_time
#成功
chenggong[j] += 1
except Exception as e:
#失败
shibai[j] += 1
print(ntpserver+"错误:"+str(e))
print(chenggong)
for ntpserver in ntpserver_list:
k = ntpserver_list.index(ntpserver)
print("位置:%d 成功:%d 失败:%d %s" % (k+1,chenggong[k],shibai[k],ntpserver))
运行代码如下: