幾天前,閑著無事,到總集成的屋去聊天,其中的一個人就問我,會不會設(shè)置時間同步服務(wù),并說:“將各個公司的項目集成在一起,彼此服務(wù)器的系統(tǒng)時間可能會不一樣,這樣會有點問題,比如,記錄日志,系統(tǒng)登錄……”。我說:“是不太好……沒設(shè)時間同步……”。他說搞了半天沒成,說要不自己寫一個得了。我一聽就說,寫一個倒不難,但是有現(xiàn)成的,干嘛自己寫啊,把現(xiàn)在的項目搞得這么麻煩。于是就和他查了資料,研究了一下,其實方法很簡單。
因此,有時候,在局域網(wǎng)環(huán)境中設(shè)置時間同步服務(wù)器,統(tǒng)一客戶端和服務(wù)器端的系統(tǒng)時間是很有必要的。本文在Windows2003 Server上實現(xiàn)客戶端和服務(wù)器進行時間同步。
服務(wù)器端提供時間同步的服務(wù),也就是一個專門負責時間同步的一個系統(tǒng)服務(wù),或者說系統(tǒng)進程,在客戶端也有一個這樣的進程,與服務(wù)端的時間服務(wù)進行通信,協(xié)商時間。步驟如下:
服務(wù)器端設(shè)置
默認情況下,服務(wù)器 Windows 2003 Server 是作為時間同步客戶端的。你可以雙擊系統(tǒng)時間,在 "Internet時間" 屬性頁里有時間同步的設(shè)置,顯然系統(tǒng)默認是作為客戶端的。所以,必須通過修改設(shè)置,使系統(tǒng)作為時間同步的服務(wù)端。
1, 修改注冊表以下項的鍵值
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/W32Time/TimeProviders/NtpServer 內(nèi)的 "Enabled" 設(shè)置為 "1",打開時間同步服務(wù)功能。
2, 修改以下鍵值
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/W32Time/Config 里的 "AnnounceFlags" 設(shè)置為 "5",表示強制主機將它自身宣布為可靠的時間源,從而使用CMOS時鐘。如果設(shè)置為“a”,則表示為采用外面的時間服務(wù)器。
3, 重啟 Win32Time 服務(wù)
執(zhí)行如下命令:
以下是代碼片段:
net stop w32time && net start w32time
其中,"&&" 符號表示同時執(zhí)行兩條命令。
客戶端設(shè)置
1,客戶端的設(shè)定更改注冊表即可。
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/W32Time/TimeProviders/NtpClient 里的 "SpecialPollInterval" 時間間隔(單位為秒,43200為12小時);"SpecialPollTimeRemaining" 時間同步的服務(wù)器,格式為:"IP address,0",例如:192.168.1.1,0。