天天看點

兩台linux機器時間同步

Linux自帶了ntp服務 -- /etc/init.d/ntpd,這個服務不僅可以設定讓本機和某台/某些機器做時間同步,他本身還可以扮演一個time server的角色,讓其他機器和他同步時間。

配置檔案就是/etc/ntp.conf。

為了測試,設定讓node2 -- 192.168.1.102和node1 -- 192.168.1.101做時間同步。

第一步,

node1做time server,node1本身不和其他機器時間同步,就是取本地時間。

是以,先把node1機器的時間調準了:

[root@node1 ~]date -s 08/03/2011 

[root@node1 ~]date -s 11:12:00

[root@node1 ~]clock -w

[root@node1 ~]hwclock --systohc

後兩個指令是把設定的時間寫到硬體時間中去(也就是CMOS裡面的時間)。

第二步,

然後将node1配置成一個time server,修改/etc/ntp.conf,

[root@node1 ~]vi /etc/ntp.conf

其他的配置不怎麼需要改,隻需要關注restrict的配置:

1. 注釋掉原來的restrict default ignore這一行,這一行本身是不響應任何的ntp更新請求,其實也就是禁用了本機的ntp server的功能,是以需要注釋掉。

2. 加入:restrict 192.168.1.0 mask 255.255.255.0 -- 讓192.168.1.0/24網段上的機器能和本機做時間同步

3. 這樣就可以了,記得下面的:

server 127.127.1.0 # local clock

fudge 127.127.1.0 stratum 10

這兩行需要,這是讓本機的ntpd和本地硬體時間同步。

當然,我們也可以添加server xxx.xxx.xxx.xxx,讓他和其他的time server時間同步。

4. /etc/init.d/ntpd restart

5. chkconfig ntpd on

6. 修改iptables配置,将tcp和udp 123端口開放,這是ntp需要的端口,在/etc/services中可以查到這個端口。

第三步,

這樣node1就成為一台time server了,現在我們配置node2這台機器,也是修改/etc/ntp.conf ,

[root@node2 ~]vi /etc/ntp.conf

1. restrict default ignore這行保留為注釋狀态,因為sales不需要做time server

2. 注釋掉server 127.127.1.0, fudge 127.127.1.0 stratum 10這兩行,因為這台機器不需要和本地硬體時鐘同步了。

3. 加入server 192.168.1.101這行,和node1機器同步。

這樣就OK了。看看時間,已經和node1同步了。往後預設配置好像是5分鐘和time server同步一次。ntpdate指令是顯式的和某台機器做時間同步,以前将ntpdate放到crontab中定期同步也是可以的,但是既然ntpd本身就可以做這個時間

第四步,将ntpdate放到crontab中定期步也是可以的

[root@node2 ~]#vi ntpupdate.sh

/usr/sbin/ntpdate 192.168.1.101

[root@node2 ~]#chmod 755 ntpupdate.sh

[root@node2 ~]#crontab -e

*/1 * * * * /root/ntpupdate.sh

[root@node2 ~]#/etc/init.d/crond restart

作者:少帥

繼續閱讀