1、用ntpdate从时间服务器更新时间

如果你的linux系统根本没有ntpdate这个命令 yum install ntp

安装完了之后,你不要做什么配置,也不需要,直接测试一下

1
2
[root@localhost ~]# ntpdate time.nist.gov
22 Oct 21:11:43 ntpdate[5014]: adjust time server 207.200.81.113 offset -0.018788 sec

如果出去上面的内容说明,同步成功了。然后在crontab里面加上以下内容。

*/10 * * * * ntpdate time.nist.gov   #域名或IP  

每隔十分钟同步一次。推荐几个时间服务器。

time.nist.gov
time.nuri.net
asia.pool.ntp.org
asia.pool.ntp.org
asia.pool.ntp.org
asia.pool.ntp.org

 

2、搭建自己的ntp服务器

同一个程序运行在多台服务器上时,有时需要这些服务器的时钟相同,但是当服务器运行一定时间之后,各个服务器上的时钟会有一定差异,此时就需要让所有服务器自动校准各自时钟。

NTP是一个很方便的时钟服务,可以用此来进行时钟同步。

(以下解决应用于不连接外网的局域网,需求是同步所有服务器时钟。)

1. 选定其中一台服务器作为基准服务器,即提供时钟服务。

(1)首先确定ntp是否存在,若不存在则通过以下命令安装:yum install ntp

(2)修改配置文件/etc/ntp.conf,在其中插入:restrict 192.168.20.0 mask 255.255.255.0 nomodify notrap

其中:

用restrict控管权限
nomodify – 用户端不能更改ntp服务器的时间参数
noquery – 用户端不能使用ntpq,ntpc等命令来查询ntp服务器
notrap – 不提供trap远端登陆

(3)此时可以向192.168.20.0/24的机器提供时间服务了,开启ntp服务:

/etc/rc.d/init.d/ntpd start // 启动ntp服务

chkconfig ntpd on // 让ntp服务开机启动

(4)检查ntp端口是否已经开启:netstat -unlnp

如果正常,应该可以看到123端口已经开启。

2. 客户端同步(使用ntpd服务)

(1)修改/etc/ntp.conf,在里边插入:server 192.168.20.91

(2)使ntpd服务开启启动chkconfig ntpd on

(3)启动客户端ntpd服务/etc/rc.d/init.d/ntpd start