電腦的時間放置不理的話過不久就會出現誤差。
這個誤差會反映在email送信時刻的time stamp上,會反映在你的論壇帖子發表時刻上。至少我遇到過這個問題。
網絡上有ntp(network time protocol)服務器,提供當前的時刻。我們可以將本地的時刻與ntp服務器的時刻進行同步。
目的如下:
1,啟動時用ntpdate進行時刻修正。
2,啟動中,通過ntpd進行時刻校正的同時,將各個客戶端電腦的時刻也進行同期校正。
3,如果不能找到ntp服務器,那麼就使用local time,同時同步客戶。
全世界約有100多個ntp服務器,從下面地址找一個離你最近的
我選擇了兩個
clock.nc.fukuoka-u.ac.jp 133.100.9.2
clock.tl.fukuoka-u.ac.jp 133.100.11.8
步驟:
FreeBSD中有兩個標准的ntp程序,其一為ntpdate。
ntpdate通過從ntp服務器獲取時刻,調整本地時刻。
# ntpdate clock.nc.fukuoka-u.ac.jp
9 Oct 18:12:23 ntpdate: step time server 133.100.9.2 offset -19.112674
大約有19秒鐘的誤差
自動設定
ntpdate_enable="YES" # Run ntpdate to sync time on boot (or NO).
ntpdate_program="ntpdate" # path to ntpdate, if you want a different one.
ntpdate_flags="clock.nc.fukuoka-u.ac.jp" # Flags to ntpdate (if enabled).
重新啟動以後就運行了,當然設定沒有完,不必急著啟動
FreeBSD的另一個標准ntp程序,ntp
ntp程序使的獲取ntp時刻的同時,向其他pc提供時刻。
用來作為標准時刻的ntp服務器我選擇了兩個
clock.nc.fukuoka-u.ac.jp 133.100.9.2
clock.tl.fukuoka-u.ac.jp 133.100.11.8
同時指定復數個服務器也沒有問題,系統會自動選擇一個可以信賴的。
這裡,為避免多余的DNS數據包傳遞,我們直接指定IP地址。
server行 server 127.127.1.0 為參考本地時刻時用的地址。然後用fudge指定階層編號為5,降低其優先度。
接著用restrict對每一個IP地址指定相應的規則。
最後,指定波長校正用的drift文檔保存地址。關於這個命令行,具體的含義不太清楚。不過如果沒有的話,時間校正起來就會比較慢
server 133.100.9.2 #clock.nc.fukuoka-u.ac.jp
server 133.100.11.8 #clock.tl.fukuoka-u.ac.jp
server 127.127.1.0
fudge 127.127.0.1 stratum 5
restrict default ignore
restrict 127.0.0.0 mask 255.0.0.0
restrict 192.168.1.0 mask 255.255.255.0 noquery nopeer notrust
restrict 133.100.9.2 noquery
restrict 133.100.11.8 noquery
driftfile /etc/ntpd.drift
啟動測試
# ntpd -p /var/run/ntpd.pid
# tail /var/log/messages
Oct 9 16:46:56 chiwawa ntpd[89409]: ntpd 4.1.0-a Thu Apr 3 08:26:24 GMT 2003 (1)
Oct 9 16:46:56 chiwawa ntpd[89409]: kernel time discipline status 2040
......
Oct 9 16:50:10 chiwawa ntpd[89409]: time set -0.189546 s
看到類似的結果就可以了。
運行測試
ntpd的運行用ntpq命令
# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*clock.nc.fukuok .GPS. 1 u 43 64 37 19.067 -6.884 10.339
+clock.tl.fukuok .GPS. 1 u 36 64 35 19.670 -3.259 2.341
LOCAL(0) LOCAL(0) 5 l 45 64 37 0.000 0.000 0.001
啟動後到時刻校正完成需要一點時間。*是第一候補,+是第二。
本地時刻校正完成以後就可以為其他PC提供時刻校正服務了。
自動啟動的設定
完成以上設定,確認運行無誤以後:
xntpd_enable="YES" # Run ntpd Network Time Protocol (or NO).
xntpd_program="ntpd" # path to ntpd, if you want a different one.
xntpd_flags="-p /var/run/ntpd.pid" # Flags to ntpd (if enabled).
客戶端PC設定:
UNIX OS
server [local ntp server IP] prefer
driftfile /etc/ntpd.drift
或者追加下面內容到crontab,這樣,每過一個小時0分的時候就自動更新。
# vi /etc/crontab
0 * * * * root ntpdate [ntp server IP] >/dev/null 2>&1
當然,你的主機其實也是一個客戶機,這些內容也可以用上。
Windows
精工的網站上有下載軟件,不過是日語的
windows2000自帶了sntp機能,請自己研究吧。