windows服务器时间同步

问题。windows各服务器之间时间不一致

尝试用au3编写自动执行获取时间软件,但是在任务计划上卡主,不能运行。(又回忆了下au3的代码,编译出来容易,在自动安装上面很有优势。)

后改写py

 

一、设置服务器自身为可靠的时间源

1.进入到服务器,依次点击:开始---运行---regedit

然后点击确定。

 

2.依次展开:HKEY_LOCAL_MACHINE、SYSTEM、CurrentControlSet、Services、W32Time、TimeProviders、NtpServer

在NtpServer项的右侧键值ENablied,将默认的0

改为1,1为启用NTP服务器。

 

3.依次展开:HKEY_LOCAL_MACHINE、SYSTEM、CurrentControlSet、Services、W32Time、Config

找到Config项右侧的AnnounceFlags。

把默认的10改为5

5的意思就是自身为可靠的时间源

 

4.在命令提示符中输入:net stop w32Time回车

等待NTP服务停止

然后再输入:net start w32Time回车

启动NTP服务

 

二、确保服务器时间是准的 (和百度web时间同步)

import http.client
import time
import os

def get_webservertime(host):
conn = http.client.HTTPConnection(host)
conn.request("GET","/")
r = conn.getresponse()
ts = r.getheader("date") # 获取http头date部分
# 将GMT时间转换成北京时间
ltime = time.strptime(ts[5:25],"%d %b %Y %H:%M:%S")
# print(ltime)
ttime = time.localtime(time.mktime(ltime)+8*60*60)
# print(ttime)
dat = "date %u-%02u-%02u"%(ttime.tm_year,ttime.tm_mon,ttime.tm_mday)
tm = "time %02u:%02u:%02u" % (ttime.tm_hour, ttime.tm_min, ttime.tm_sec)
# print(dat,tm)
os.system(dat)
os.system(tm)

get_webservertime('www.baidu.com')

用pyinstaller 编译后就可以在windows环境下运行了。然后就是加入到任务计划上。



虽然是整合信息,无自主编写代码,但整个思路是理出来怎么做了。
posted @ 2018-02-09 14:11  宝之林  阅读(396)  评论(0编辑  收藏  举报