本文共 10263 字,大约阅读时间需要 34 分钟。
转自:
SUSE Linux Enterprise Server 11 (i586)NTP(网络时间协议)机制是用于同步网络上的系统时间的协议。首先,计算机从作为可靠时间源的服务器获得时间。然后将此计算机用作网络中其他计算机的时间源。这样做有双重目的,既可维护绝对时间,又可保持网络中所有计算机系统时间的同步。
1.查看系统时钟(Linux 内核时钟)和设置系统时钟
boco@TJ-Unicom-Group-GnCol2:~> dateMon Jun 27 14:06:29 CST 2011#date -s 091713272003.30 设置系统时钟的操作 #date 月日时分年.秒 通用的设置格式2.查看硬件时钟和设置硬件时钟
Linux将时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟两种。系统时钟是指当前Linux Kernel中的时钟,而硬件时钟则是主板上由电池供电(石英钟)的那个主板硬件时钟,这个时钟可以在BIOS的Standard BIOS Feture”项中进行设置。TJ-Unicom-Group-GiCol2:~ # hwclock 另一种写法 hwclock --show 查看硬件时钟Mon Jun 27 15:12:29 2011 -0.346217 secondshwclock --set --date="MM/DD/YYYY hh:mm:ss" 通用的设置格式3.同步系统时钟和硬件时钟
Linux系统(笔者使用的是Red Hat 8.0,其它系统没有做过实验)默认重启后,硬件时钟和系统时钟同步。如果不大方便重新启动的话(服务器通常很少重启),使用clock或hwclock命令来同步系统时钟和硬件时钟。#hwclock --help 查看所有参数和格式
4.安装NTP软件包
安装之前先检测是否这些软件包已安装,方法如下:TJ-Unicom-Group-SysLogCol1:~ # rpm -qa | grep ntpntp-4.2.4p6-1.15yast2-ntp-client-2.17.14-1.8如果没有安装,需要进行安装linux: ~#rpm -ivh ntp-4.2.4p6-1.15.i586.rpm 此安装包位于D:\工作软件\SUSE 11 32位 操作系统 镜像ISO\SUSE_SLES-11-0-1\suse\i586\ntp-4.2.4p6-1.15.i586.rpm5.设置时钟同步– NTP 配置文件模式(配置文件模式是长久有效,命令模式临时有效) SUSE 11版
NTP 修改配置文件/etc/ntp.confserver 10.3.64.61 设置时钟服务器(源),重启NTP服务即可,上级时间服务器的IP或者域名fudge 127.127.1.0 stratum 10 fudge设置Stratum(层)
启动/停止/重启/状态ntp服务
remote refid st t when poll reach delay offset jitter
*10.3.64.61 132.174.32.151 3 u 31 64 377 0.714 207.690 147.835 监视NTP,已经指向时钟源10.3.64.61,目的NTP是否正常如果发现在remote这列之前会出现星号和+号,说明已经跟这个服务器同步成功了
TJ-Unicom-Group-Analyse1:~ # service ntp status 这是NTP没有启动的状态Checking for network time protocol daemon (NTPD): unused TJ-Unicom-Group-GnCol1:/etc # ntpdate 10.3.64.61 NTP命令模式,手工同步NTP,有警告WARNING信息,但可以同步(配置文件模式是长久有效,命令模式临时有效)!!!!!!!!!!!!!! WARNING !!!!!!!!!!!!!!!!!!The ntpdate program is deprecated and should not be used any more. Toquote the upstream ntp developers:"The functionality ntpdate offered is now provided by the ntpd daemonitself. If you call ntpd with the command line option -q it willretrieve the current time and set it accordingly."Please check the Network Time Protocol (NTP) daemon man page andfor further information.You can replace the ntpdate call with "rcntp ntptimeset" to achieve aninital poll of the servers specified in /etc/ntp.conf.The program /usr/sbin/sntp offers comparable functionality to ntpdate.Specificallysntp -P no -r pool.ntp.orgis equivalent tontpdate pool.ntp.orgFor further details please refer to the man page of sntp.TJ-Unicom-Group-GnCol1:/etc # dateMon Jul 4 11:32:56 CST 2011TJ-Unicom-Group-GnCol1:/etc # ntpq -p 监视NTP->只有启动NTP服务才能监视NTP,否则ntpq: read: Connection refusedntpq: read: Connection refused 目的NTP是否正常6.开机自动启动NTP服务
TJ-Unicom-Group-Analyse1:~ # chkconfig -list | grep ntp 开机不启动时显示off,0~6指系统的运行级别ntp 0:off 1:off 2:off 3:off 4:off 5:off 6:offchkconfig ntp on 开机自动启动NTP服务TJ-Unicom-Group-Analyse1:~ # chkconfig -list | grep ntpntp 0:off 1:off 2:off 3:on 4:off 5:on 6:off 确认服务已启动,启动服务时显示on7.查看NTP服务日志(就能观察到时间是否在同步)#cat /var/log/ntp10 Jun 15:28:38 ntpd[2022]: ntpd exiting on signal 155 Jul 16:23:38 ntpd[17978]: synchronized to 10.3.64.61, stratum 55 Jul 16:29:18 ntpd[17978]: time reset +339.397617 s5 Jul 16:29:18 ntpd[17978]: kernel time sync status change 00018.使用crontab设置时钟同步NTP的任务计划1.安装NTP软件包
安装之前先检测是否这些软件包已安装,方法如下[root@TJ-Unicom-Group-Gn-02 etc]# rpm -qa | grep ntp 有ntpdate-4.2.4p8-2.el6.x86_64和ntp-4.2.4p8-2.el6.x86_64包就ok了ntpdate-4.2.4p8-2.el6.x86_64 一般在OS系统安装后都会自带这2个包ntp-4.2.4p8-2.el6.x86_64fontpackages-filesystem-1.41-1.1.el6.noarch2.查看系统所在时区和修改系统时钟
[root@TJ-Unicom-Group-Gn-02 etc]# date -RWed, 15 Aug 2012 14:39:52 +0800修改系统时钟date -s "2012-08-14 09:00:00" 特点:当我们手工改变了时间后,ntp服务会自动修复时间差(不用我们人工参与),但不是实时的,需要一点时间。或者date -s 08/14/2012 #月/日/年date -s 09:37:00或者date MMDDhhmmYYYY.ss3.启动/停止/重启/状态ntp服务
[root@TJ-Unicom-Group-Gn-02 etc]# service ntpd start 启动NTP
Starting ntpd: [ OK ][root@TJ-Unicom-Group-Gn-02 etc]# service ntpd status 正在运行NTP 【ntpd is stopped 已停止NTP】ntpd (pid 630) is running...4.设置时钟同步– NTP 配置文件模式(配置文件模式是长期有效,命令模式手工同步NTP临时有效) Red Hat 6.1版
NTP 修改配置文件/etc/ntp.confserver [IP or hostname] [prefer] 其中[IP or hostname]为上级时间服务器的IP或者域名,主机名:[prefer]参数是可选的,加上prefer后,同步时会优先先访问这一条。server 10.3.64.61 上级时钟服务器的IP或者域名,设置时钟服务器(源),重启NTP服务即可fudge 127.127.1.0 stratum 10 fudge设置Stratum(层)
[root@TJ-Unicom-Group-Gn-01 ntp]# echo 127.127.1.0 > /etc/ntp/step-tickers 把127.127.1.0 加入 step-tickers文件[root@TJ-Unicom-Group-Gn-01 ntp]# cat /etc/ntp/step-tickers127.127.1.0[root@TJ-Unicom-Group-Gn-02 etc]# service ntpd restart 重启NTP服务即可,如果不重启不能ntp -p 监控Shutting down ntpd: [ OK ]Starting ntpd: [ OK ]*10.3.64.61 132.174.32.151 3 u 40 64 377 0.739 -70.969 24.713 如果发现在remote这列之前会出现星号和+号,说明已经跟这个服务器同步成功了,如果没有星号,说明正在同步还没有完成。
如果没有配置NTP初始化文件,即是 run NTP 也不能监控NTP服务 会报错 No association ID's returned 没有关联ID【如果不重启也不能监控ntp】6.命令模式手工同步NTP(临时有效)
[root@TJ-Unicom-Group-Gn-01 ~]# ntpdate 10.3.64.61 NTP命令模式,手工同步NTP15 Aug 13:57:53 ntpdate[1187]: step time server 10.3.64.61 offset 243.079201 sec 补偿243秒15 Aug 14:08:28 ntpdate[11893]: step time server 10.3.64.61 offset 315.259333 sec 补偿315秒注意:[root@TJ-Unicom-Group-Gn-03 ~]# ntpdate 10.3.64.61 15 Aug 15:30:46 ntpdate[12948]: adjust time server 10.3.64.61 offset 0.385539 sec[root@TJ-Unicom-Group-Gn-03 ~]# service ntpd statusntpd is stopped[root@TJ-Unicom-Group-Gn-03 ~]# service ntpd start 当启动NTP服务后,在使用ntpdate 10.3.64.61【NTP在使用套接字,退出】Starting ntpd: [ OK ][root@TJ-Unicom-Group-Gn-03 ~]# service ntpd statusntpd (pid 12975) is running...[root@TJ-Unicom-Group-Gn-03 ~]# ntpdate 10.3.64.6115 Aug 15:31:05 ntpdate[12986]: the NTP socket is in use, exiting7.开机自动启动NTP服务[root@TJ-Unicom-Group-Gn-03 ~]# chkconfig --help 打开帮助chkconfig version 1.3.47 - Copyright (C) 1997-2000 Red Hat, Inc.This may be freely redistributed under the terms of the GNU Public License.usage: chkconfig [--list] [--type <type>] [name]chkconfig --add <name>chkconfig --del <name>chkconfig --override <name>chkconfig [--level <levels>] [--type <type>] <name> <on|off|reset|resetpriorities> [root@TJ-Unicom-Group-Gn-03 ~]# chkconfig --list | grep ntp 开机不启动时显示off,0~6指系统的运行级别ntpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off ntpdate 0:off 1:off 2:off 3:off 4:off 5:off 6:off[root@TJ-Unicom-Group-Gn-02 etc]# chkconfig --level 2345 ntpd on 开机自动启动NTP服务 2345是系统运行级别[root@TJ-Unicom-Group-Gn-02 etc]# chkconfig --list | grep ntpntpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off 开机自动启动显示onntpdate 0:off 1:off 2:off 3:off 4:off 5:off 6:off[root@TJ-Unicom-Group-Gn-05 etc]# chkconfig --level 2345 ntpd on 开机自动启动显示on【中文版】[root@TJ-Unicom-Group-Gn-05 etc]# chkconfig --list | grep ntpntpd 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭ntpdate 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭#############################################################################
10.3.64.61 132.174.32.151 5 u 28 64 37 0.64 7.971 878.46NTP命令模式,手工同步NTP服务(配置文件模式是长久有效,命令模式临时有效)TJGRAPP[#/etc]ntpdate 10.3.64.617 Jul 11:35:27 ntpdate[6382]: step time server 10.3.64.61 offset 412.957168 sec 同步时间服务,补偿412.957168秒TJGRAPP[#/etc]ntpdate 10.3.64.617 Jul 12:36:54 ntpdate[25942]: adjust time server 10.3.64.61 offset 0.123488 sec 调整时间服务,补偿0.1234882.使用crontab设置时钟同步NTP的任务计划0-59/10 /usr/sbin/ntpdate 10.3.64.61 &>/ntplog 每隔10分钟同步一次NTP时间0 10 /usr/sbin/ntpdate 10.3.64.61 > /ntplog 每天10点整同步一次NTP时间并把执行结果重定向到ntplog文件
cron文件的目录和cron执行日志目录/var/spool/cron/crontabs/root cron文件的目录/var/adm/cron/log cron执行日志转载于:https://blog.51cto.com/sankeyou/2047813