在FreeBSD 6.2系统中配置时间同步,并没有想象中那么繁琐。不过,根据实际应用场景选择恰当的方法至关重要,否则容易引发问题。接下来将介绍两种最常见的解决方案。
一、直接同步
ntpdate 210.72.145.44
该命令适用于新安装的系统,需要快速将时间校准到正确值。例如,新机器的时间偏差极大,或重启后系统时间彻底混乱时,使用ntpdate一次到位最为高效。
但需特别注意:若服务器正在运行对系统时间变化极为敏感的业务程序(例如数据库、交易系统等),则不应随意执行此命令。因为ntpdate采用“跳变”式调整——时间会在瞬间发生改变,可能导致敏感进程出现异常。
二、同步服务
相比之下,通过ntpd服务进行时间同步则更加平缓。它会在后台逐步微调时间,每次调整仅零点零几秒,直至与标准时间完全一致。整个过程平滑无扰动,业务进程几乎不受影响。
配置过程同样简单,只需将NTP服务器地址写入配置文件即可:
echo 'server 210.72.145.44 prefer' > /etc/ntp.conf
echo 'server ntp1.cs.mu.OZ.AU' >> /etc/ntp.conf
echo 'server ntp0.cs.mu.OZ.AU' >> /etc/ntp.conf
echo 'server ntp.alaska.edu' >> /etc/ntp.conf
echo 'driftfile /var/db/ntp.drift' >> /etc/ntp.conf
第一行使用了prefer参数,将210.72.145.44指定为首选NTP服务器,其余地址作为备用。随后配置开机自启动:
echo 'ntpd_enable="YES"' >> /etc/rc.conf
然后手动启动ntpd服务:
ntpd -p /var/run/ntpd.pid
需要说明的是,ntpdate和ntpd这两个工具在FreeBSD 6.2系统默认安装中已经包含,无需另行安装其他软件包。
最后补充一点:如果之前已经使用ntpdate执行过强制同步,再次启动ntpd服务时可能因时间偏差过大而拒绝工作。稳妥的流程是:先停止ntpd,运行一次ntpdate,然后再启动ntpd,使其在正确的时间基准上进行微调。
