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
中国国家授时中心 NTP服务器地址是“ntp.ntsc.ac.cn”
中国科学院国家授时中心发布关于“网络授时域名”全面试运行测试的公告:
为更好的满足用户的需求,提高网络授时服务质量,国家授时中心搭建了一套新的网络授时服务系统,网络授时服务器的域名为“ntp.ntsc.ac.cn”,目前已经具备初步服务能力,现拟在实际网络环境中开展全面的试运行测试。
扩展资料:
Windows7网络授时服务的使用方法:
1.点击Windows7操作系统右下角的时间,出现如下窗口。
2.点击“更改日期和时间设置”,弹出如下窗口。
3.选择上图的“Internet时间”选项卡,切换至如下图窗口。
(4)点击上图的“更改设置”按钮,弹出如下图窗口。
(5)在上图输入框中输入网络授时服务器域名“ntp.ntsc.ac.cn”后,点击“立即更新”后,出现“与ntp.ntsc.ac.cn同步成功”表示与网络授时服务器同步成功。
硬件时间,系统时间,时区#hwclock--hctosys,把硬件时间同步到系统时间,查看系统时区命令:date-R,第一种方法,将时区信息文件拷贝至/etc/localtime下。具体操作方式为cp/usr/share/zoneinfo/Asia/Shanghai/etc/localtime-R将上海时区拷贝至/etc下。第二种方法,执行命令tzselect,首先我们选择一个洲,本篇我们要选择Asia亚洲。查看系统硬件时间命令:hwclock-r。linux的系统时间有两个,一个为系统时间,也叫软件时间,一般情况下只改这个时间,系统重启后不生效,另外一个为BOIS时间,也叫硬件时间。如要彻底更改系统时间,则需要先更改软件时间,然后保存到BOIS时间。执行命令date-s来设置时间,然后执行命令hwclock-w保存软件时间至硬件时间。timedatectl(对于RHEL/CentOS7和基于Fedora21+的分布式系统来说,是一个新工具,它作为systemd系统和服务管理器的一部分,代替旧的传统的用在基于Linux分布式系统的sysvinit守护进程的date命令。)在CentOS7里面有一个命令timedatectl可以帮助我们修改服务器的时区。例如:我们需要设置成上海的时间区:"timedatectlset-timezoneAsia/Shanghai。"设置完时区后当然还可以设置NTP服务器的开启和关闭。开启NTP:"timedatectlset-ntpyes"。关闭NTP:"timedatectlset-ntpno"。当然timedatectl命令还可以设置日期与时间。设置日期:"timedatectlset-timeYYYY-MM-DD"。设置时间:"timedatectlset-timeHH:MM:SS"。由于世界各国家与地区经度不同,地方时也有所不同,因此会划分为不同的时区。正式的时区划分包括24个时区,每一时区由一个英文字母表示。每隔经度15°划分一个时区,有一个例外,每个时区有一条中央子午线,例如,GMT属于“z”区,因此其时间后通常添加后缀“Z”(口语中用后缀“Zulu”)。
如何计算区时,计算的区时=已知区时-(已知区时的时区-要计算区时的时区)。(注:东时区为正,西时区为负)下面举例加以说明:例1:已知东京(东九区)时间为5月1日12:00,求北京(东八区)的区时。北京时间=12:00-(9-8)=11:00,即北京时间为5月1日11:00。例2:已知北京时间为5月1日12:00,求伦敦(中时区)的区时。伦敦时间=12:00-(8-0)=4:00,即伦敦时间为5月1日4:00。例3:已知北京时间为5月1日12:00,求纽约(西五区)的区时。纽约时间=12:00-[8-(-5)]=-1:00+24:00-1天=23:00,即纽约时间为4月30日的23:00。(注:当算出的区时为负数时,应加上24:00,日期减一天,即从5月1日变为4月30日)例4:已知纽约时间为5月1日12:00,求东京的区时。东京时间=12:00-[(-5)-9]=26:00-24:00+1天=2:00),即东京时间为5月2日2:00)。(注:当算出的区时大于或等于24:00时,应减去24:00,日期加一天,即从5月1日变为5月2日)。判断新旧两天,要看两条线,一是人为日界线——180度国际日期变更线,二是自然分界线——当地时间为0点的地区经线。自西向东越过国际日期变更线,日期应减1天,比如你在国际日期变更线西侧,当地时间是20日的00:30,当你自西向东越过国际日期变更线后,你所在位置的当地时间是19日的00:30。如果是自东向西越过国际日期变更线,则应该加1天。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)