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环境下运行了。然后就是加入到任务计划上。
虽然是整合信息,无自主编写代码,但整个思路是理出来怎么做了。