时间同步是一个比较重要的事情,如果有日志系统,分布式计算,时间戳等需要时间准确性的服务器上,一个可靠的时间是必不可少的,在windows下的时间比较简单:不在域中的计算机只要点击右下角的时间,在弹出的对话框中选择Internet时间并设置好同步服务器,就可以自动进行同步,也可以手工同步。
如果在域中,参考这个地址:[url=http://support.microsoft.com/kb/307897/zh-cn]如何在 Windows XP 中通过Windows 时间服务同步时间[/url]
[color=gray]在命令行可以使用如下方法(测试无效):
net time /setsntp:203.117.180.36 (设置时间服务器地址)
net stop w32time (停止时间服务)
net start w32time (启动时间服务)
w32tm -s (立即同步时间)[/color]
另一种(下面这个测试可行):
:: 設定要同步的 NTP Server
w32tm /config /update /manualpeerlist:ntp.ntu.edu.tw
:: 開始進行同步
w32tm /resync
在linux和unix中的时间同步其实也很容易:
1、比较老的版本
#自动校准时间
rdate -s 时间服务器地址
#设置硬件时钟
hwclock --systohc
ps:用到的命令参数如下:
rdate [-ps][主机名称或IP地址...]
参 数:
-p 显示远端主机的日期与时间。
-s 把从远端主机收到的日期和时间,回存到本地主机的系统时间。
hwclock [--adjust][--debug][--directisa][--hctosys][--show][--systohc]
[--test]
[--utc][--version][--set --date=<日期与时间>]
参 数:
--adjust hwclock每次更改硬件时钟时,都会记录在/etc/adjtime文件中。使用--adjust参数,可使hwclock根据先前的记录来估算硬件时钟的偏差,并用来校正目前的硬件时钟。
--debug 显示hwclock执行时详细的信息。
--directisa hwclock预设从/dev/rtc设备来存取硬件时钟。若无法存取时,可用此参数直接以I/O指令来存取硬件时钟。
--hctosys 将系统时钟调整为与目前的硬件时钟一致。
--set --date=<日期与时间> 设定硬件时钟。
--show 显示硬件时钟的时间与日期。
--systohc 将硬件时钟调整为与目前的系统时钟一致。
--test 仅测试程序,而不会实际更改硬件时钟。
--utc 若要使用格林威治时间,请加入此参数,hwclock会执行转换的工作。
--version 显示版本信息。
2、使用ntpdate,在没有运行ntpd的服务器上,管理员可以使用ntpdate向远程ntpd服务器获取时间进行同步,这个方法比较方便:
ntpdate 时间服务器地址
更多信息:[url=http://study.chyangwa.com/IT/AIX/aixcmds4/ntpdate.htm]ntpdate 命令[/url]
3、ntpd服务。上面的两种方法都是直接调整时间,会产生时间跃变,可能会产生一些意外的问题,因此在服务器上只是在机器启动的时候或者管理员确认的情形下执行,个人不建议crontab之类的方法定时执行,最好在启动脚本中或手工执行。如果需要同步时间,ntpd服务是一个较好的方法:
NTP 服务器, 可以用于查询其它的 NTP 服务器, 并配置本地计算机的时钟,或者为其它机器提供服务。使用这个服务只需要配置/etc/ntp.conf
#标注为prefer的是首选时间服务器
server ntplocal.example.com prefer
#其他候选服务器
server timeserver.example.org
server ntp2a.example.net
#driftfile 选项,则指定了用来保存系统时钟频率偏差的文件。 ntpd程序使用它来自动地补偿时钟的自然漂移, 从而使时钟即使在切断了外来时源的情况下,仍能保持相当的准确度。另外, driftfile 选项也保存上一次响应所使用的 NTP 服务器的信息。 这个文件包含了 NTP 的内部信息, 它不应被任何其他进程修改。
driftfile /var/db/ntp.drift
#restrict 设置提供时间服务的设置
#下面这行只是本机同步,不提供时间服务
restrict default ignore
#下面是给指定的网段提供时间服务:
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
更多详细设置参考:[url=http://www.freebsd.org/doc/zh_CN/books/handbook/network-ntp.html]通过 NTP 进行时钟同步[/url]
#下面是收集到的一些可用的时间服务器地址
server 133.100.11.8 prefer
server 210.72.145.44
server 203.117.180.36
server 131.107.1.10
server time.asia.apple.com
server 64.236.96.53
server 130.149.17.21
server 66.92.68.246
server www.freebsd.org
server 18.145.0.30
server clock.via.net
server 137.92.140.80
server 133.100.9.2
server 128.118.46.3
server ntp.nasa.gov
server 129.7.1.66
server ntp-sop.inria.frserver 210.72.145.44(国家授时中心服务器IP地址)
如果在域中,参考这个地址:[url=http://support.microsoft.com/kb/307897/zh-cn]如何在 Windows XP 中通过Windows 时间服务同步时间[/url]
[color=gray]在命令行可以使用如下方法(测试无效):
net time /setsntp:203.117.180.36 (设置时间服务器地址)
net stop w32time (停止时间服务)
net start w32time (启动时间服务)
w32tm -s (立即同步时间)[/color]
另一种(下面这个测试可行):
:: 設定要同步的 NTP Server
w32tm /config /update /manualpeerlist:ntp.ntu.edu.tw
:: 開始進行同步
w32tm /resync
在linux和unix中的时间同步其实也很容易:
1、比较老的版本
#自动校准时间
rdate -s 时间服务器地址
#设置硬件时钟
hwclock --systohc
ps:用到的命令参数如下:
rdate [-ps][主机名称或IP地址...]
参 数:
-p 显示远端主机的日期与时间。
-s 把从远端主机收到的日期和时间,回存到本地主机的系统时间。
hwclock [--adjust][--debug][--directisa][--hctosys][--show][--systohc]
[--test]
[--utc][--version][--set --date=<日期与时间>]
参 数:
--adjust hwclock每次更改硬件时钟时,都会记录在/etc/adjtime文件中。使用--adjust参数,可使hwclock根据先前的记录来估算硬件时钟的偏差,并用来校正目前的硬件时钟。
--debug 显示hwclock执行时详细的信息。
--directisa hwclock预设从/dev/rtc设备来存取硬件时钟。若无法存取时,可用此参数直接以I/O指令来存取硬件时钟。
--hctosys 将系统时钟调整为与目前的硬件时钟一致。
--set --date=<日期与时间> 设定硬件时钟。
--show 显示硬件时钟的时间与日期。
--systohc 将硬件时钟调整为与目前的系统时钟一致。
--test 仅测试程序,而不会实际更改硬件时钟。
--utc 若要使用格林威治时间,请加入此参数,hwclock会执行转换的工作。
--version 显示版本信息。
2、使用ntpdate,在没有运行ntpd的服务器上,管理员可以使用ntpdate向远程ntpd服务器获取时间进行同步,这个方法比较方便:
ntpdate 时间服务器地址
更多信息:[url=http://study.chyangwa.com/IT/AIX/aixcmds4/ntpdate.htm]ntpdate 命令[/url]
3、ntpd服务。上面的两种方法都是直接调整时间,会产生时间跃变,可能会产生一些意外的问题,因此在服务器上只是在机器启动的时候或者管理员确认的情形下执行,个人不建议crontab之类的方法定时执行,最好在启动脚本中或手工执行。如果需要同步时间,ntpd服务是一个较好的方法:
NTP 服务器, 可以用于查询其它的 NTP 服务器, 并配置本地计算机的时钟,或者为其它机器提供服务。使用这个服务只需要配置/etc/ntp.conf
#标注为prefer的是首选时间服务器
server ntplocal.example.com prefer
#其他候选服务器
server timeserver.example.org
server ntp2a.example.net
#driftfile 选项,则指定了用来保存系统时钟频率偏差的文件。 ntpd程序使用它来自动地补偿时钟的自然漂移, 从而使时钟即使在切断了外来时源的情况下,仍能保持相当的准确度。另外, driftfile 选项也保存上一次响应所使用的 NTP 服务器的信息。 这个文件包含了 NTP 的内部信息, 它不应被任何其他进程修改。
driftfile /var/db/ntp.drift
#restrict 设置提供时间服务的设置
#下面这行只是本机同步,不提供时间服务
restrict default ignore
#下面是给指定的网段提供时间服务:
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
更多详细设置参考:[url=http://www.freebsd.org/doc/zh_CN/books/handbook/network-ntp.html]通过 NTP 进行时钟同步[/url]
#下面是收集到的一些可用的时间服务器地址
server 133.100.11.8 prefer
server 210.72.145.44
server 203.117.180.36
server 131.107.1.10
server time.asia.apple.com
server 64.236.96.53
server 130.149.17.21
server 66.92.68.246
server www.freebsd.org
server 18.145.0.30
server clock.via.net
server 137.92.140.80
server 133.100.9.2
server 128.118.46.3
server ntp.nasa.gov
server 129.7.1.66
server ntp-sop.inria.frserver 210.72.145.44(国家授时中心服务器IP地址)