如何设置服务器之间时间同步

HP-UX系统的服务器之间的时间需要同步,利用自带的NTPD可以很好的达到目的。

假设我们要host1作时间服务器,host2定期去跟host1的系统时间同步,那么需要作以下设置,全部用root用户执行。

1。设置host1机器
编辑/etc/rc.config.d/netdaemons,修改下面行
export NTPDATE_SERVER= –因为这台机器将作为服务器,所以这个参数保持为空值即可
export XNTPD=1 –默认是0,改为1表示ntp进程将随系统启动自动启动
export XNTPD_ARGS=

编辑/etc/ntp.conf,添加下面行
这个文件默认是全部注释的,可以当成ntp的文档来阅读,我们只需要在最后添加,表示将用本地系统时间作为服务器时间
server 127.127.1.1
fudge 127.127.1.1 stratum 10

启动ntp守护进程
/sbin/init.d/xntpd start

检查进程情况
ntpq -p

2。设置host2机器
编辑/etc/rc.config.d/netdaemons,修改下面行
export NTPDATE_SERVER=host1 –因为这台机器将作为客户端,所以这个参数设置为服务器机器名host1
export XNTPD=1
export XNTPD_ARGS=

编辑/etc/ntp.conf,添加下面行
server host1
driftfile /etc/ntp.drift –可以理解为缓存文件,减少跟ntp服务器之间的网络流量

创建driftfile
touch /etc/ntp.drift

测试同步,因为ntpd启动需要很长时间,大概6分钟左右,所以需要等一段时间再测试
ntpdate host1

正常的话输出应该如下
11 Apr 13:35:38 ntpdate[27692]: adjust time server 10.48.52.5 offset -0.002519 se
如果报服务器无法找到的错误 no server suitable for synchronization found,那么通常是因为机器之间设置了防火墙的原因,可以尝试使用-u选项来作ntpdate
ntpdate -u host1
如果仍然不行,恐怕只有让网络管理员去打开ntpdate需要的防火墙端口了。

测试成功以后,启动ntp守护进程,这样系统会自动定期跟服务器进行同步。当然我们也可以使用cron来手动指定同步时间,比如在cron中设置每天夜里2点执行下面的脚本,也可以达到目的。
#!/sbin/sh
LOGDIR=/tmp
LOGFILE=”$LOGDIR/ntpdate.log”
/usr/sbin/ntpdate -u host1 | tee -a $LOGFILE