如何使用一台 Linux 服务器同步其他服务器的时间?

第二种方法是让 Linux 自动同步时间。

先编辑 vi /etc/crontab,然后在里面加上这么一句:

00 0 1 * * root rdate -s time.nist.gov

这样系统就会按计划自动去拉取标准时间,不用每次都手动敲命令了,省心不少。

服务器时间对不上的话,先别急着乱操作,去看看 /var/log/message 这个日志文件里到底有没有什么异常记录。

很多时候同步失败的原因都藏在日志里,翻一翻往往就能找到线索,比盲目试命令强多了。

还有一种情况特别容易被忽略,就是先确认一下你配置的IP地址是不是被别人抢用了。

要是IP冲突了,时间同步多半也会跟着出问题,所以排查之前最好先看一眼这块。

其实最省事的办法就是直接去国家互联网授时中心对时,一步就能搞定,完全不用自己折腾半天。

如果你只是想快速校准一下时间,这么做是最方便的。

客户端这边的配置,也就是 192.168.10.2,其实也很简单。

先执行 # ntpdate 192.168.10.2,正常的话应该会显示同步成功。

接着执行 # crond -e,在里面加入 0-59/10 * * * * /usr/sbin/ntpdate 192.168.10.1,这样每隔 10 分钟就会自动同步一次时间。

思路其实挺直接的,远程连接到目标服务器上,然后一条一条把时间同步命令执行一遍就行了。

手动来虽然笨了点,但排查问题的时候最直观,出什么错一眼就能看见。

下面分享 Linux 下两台或多台机器时间同步的第一种方法。

与一个已知的时间服务器同步,命令是 ntpdate time.nist.gov,这里的 time.nist.gov 就是一个标准的时间服务器。

如果还涉及时区不对的问题,可以删掉本地时间文件 rm -rf /etc/localtime,再建立软链接把时区设为上海,也就是 ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime。

接下来讲讲时间服务器端的配置,这里以 192.168.10.1 为例。

第一步先安装 ntp 软件包,执行 # rpm -ivh ntp-4.1.2-4.EL3.1.i386.rpm。

然后编辑 # vi /etc/ntp.conf,把 restrict default ignore 这一行注释掉,再加入 restrict 192.168.10.0 mask 255.255.255.0 notrust nomodify notrap。

接着编辑 # vi /etc/ntp/step-tickers,写入一行 pool.ntp.org,这样每次 ntpd 启动时都会自动连接这个国际标准时间服务器。

最后用 # service ntpd start 启动服务,再执行 # netstat -an |grep 123 来确认 123 端口是以 udp 方式开放的。