Linux时间同步,ntpd,ntpdate-简单设置

合集下载

ntpdate命令用法

ntpdate命令用法

ntpdate命令用法
ntpdate是一种用于同步本地计算机时间的命令。

它在网络上查找NTP服务器(NetworkTimeProtocol)并与之通信,以获取最新的时间信息,然后将本地计算机的时间与该信息进行同步。

使用ntpdate命令之前,需要安装ntp服务,以便获取最新的时间信息。

以下是使用ntpdate命令同步时间的步骤:
1. 打开终端并输入以下命令安装ntp服务:
sudo apt-get install ntp
2. 使用以下命令使用ntpdate同步时间:
sudo ntpdate ntp服务器地址
例如,如果要将本地计算机的时间与“”同步,可以使用以下命令:
sudo ntpdate
3. 如果您想要自动同步时间,请使用以下命令:
sudo vi /etc/crontab
在文件底部添加以下行:
*/5 * * * * root ntpdate ntp服务器地址
这将使计算机每5分钟自动与NTP服务器同步时间。

注意:ntpdate已经被ntpd所取代,后者是NTP服务的官方实现,它提供更多的功能和更为准确的时间同步。

因此,如果您想要更精确的时间同步,请使用ntpd命令。

- 1 -。

时间同步设置

时间同步设置

注意事项时间同步使用的端口是UDP 123,要确认ACL没有限制此端口。

PV时间服务器的IP地址是,172.25.254.1和172.25.25.42。

确定本机和时间服务器之间的时间偏移量的方法:- AIX: ntpdate -d 172.25.254.1- Linux: ntpdate -q 172.25.254.1- Windows: w32tm /stripchart /computer:172.25.254.1 /samples:1 /dataonly确定时区的方法:- Windows: w32tm /tz- Linux: cat /etc/sysconfig/clock- AIX: echo $TZBIOS时间和系统时间:- Linux: hwclock --systohc, 把硬件时钟设置为和当前系统时间一致。

- Windows: 系统时间会自动保存在BIOS的时钟里面。

Windows 时间同步设置:w32tm /config /syncfromflags:manual /manualpeerlist:"172.25.254.1 172.25.254.2"重启服务:net stop w32timenet start w32time立即同步:w32tm /resync查看跟时间服务器的偏移量:w32tm /stripchart /computer:172.25.254.1 /samples:1 /dataonly如果需要修改时间同步的频率,修改注册表:[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClien t]里的"SpecialPollInterval"值为比如3600秒。

Linux 时间同步介绍ntpdLinux系统下,一般使用ntp服务器来同步不同机器的时间。

Linux时间同步:ntpd,ntpdate

Linux时间同步:ntpd,ntpdate

Linux时间同步:ntpd,ntpdatentpd VS ntpdate两者有个比较实质性的差异是,ntpd在实际同步时间时是一点点的校准过来时间的,最终把时间慢慢的校正对。

而ntpdate不会考虑其他程序是否会阵痛,直接调整时间.一个是校准,一个是调整。

另外ntpd 在和时间服务器的同步过程中,会把 BIOS 计时器的振荡频率偏差——或者说Local Clock 的自然漂移(drift)——记录下来。

这样即使网络有问题,本机仍然能维持一个相当精确的走时。

使用ntpd还需要考虑到一个细节是,如果client与server时差异常大或过小,ntpd将会拒绝server参考时间。

另外还有个未经证实的经验,在服务器压力特别大的情况下,ntpdate会把时间对错,比如变成1970-1-1.引用一般来讲,尽量使用ntpd代替ntpdate来同步时间,尽管ntpdate有如此诟病(甚至一些童鞋喊出不招聘或者裁掉用ntpdate 代替ntpd的懒人:)),但是在某些情况下还是可以考虑ntpdate的:对时间精度要求不高的情况服务器重启后,ntpd未启动之前,先使用ntpdate调整时间,再启用ntpd(注意ntpd和ntpdate用一个商品123,启用nptd后,无法再使用ntpdate)用ntpdate调整时间的方式,会有几个非常明显的问题:这样做不安全。

ntpdate的设置依赖于ntp服务器的安全性,攻击者可以利用一些软件设计上的缺陷,拿下ntp服务器并令与其同步的服务器执行某些消耗性的任务。

由于ntpdate采用的方式是跳变,跟随它的服务器无法知道是否发生了异常(时间不一样的时候,唯一的办法是以服务器为准)。

这样做不精确。

一旦ntp服务器宕机,跟随它的服务器也就会无法同步时间。

与此不同,ntpd不仅能够校准计算机的时间,而且能够校准计算机的时钟。

这样做不够优雅。

由于ntpdate是跳变,而不是使时间变快或变慢,依赖时序的程序会出错。

Linux系统自动更新时间命令的详细说明

Linux系统自动更新时间命令的详细说明
其中 是一个时间服务器.
删除本地时间并设置时区为上海
复制代码代码如下:
rm -rf /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
Linux系统自动更新时间方法2
2)、# vi /etc/ntp.conf
注释一行:
restrict default ignore
加入一行:
复制代码代码如下:
restrict 192.168.10.0 mask 255.255.255.0 notrust nomodify notrap
3)、# vi /etc/ntp/step-tickers
Linux系统可以通过命令实现自动更新时间的功能。下面由小编为大家整理了Linux系统自动更新时间命令的详细说明,希望对大家有帮助!
Linux系统自动更新时间命令的详细说明
Linux系统自动更新时间方法1
与一个已知的时间服务器同步
复制代码代码如下:
ntpdate
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
每天11点与中国国家授时中心同步时间
当然前提是
apt-get install ntpdate
代码也可是
00 11 * * * root ntpdate

linux系统时间同步方法

linux系统时间同步方法

linux系统时间同步方法在Linux系统中,时间同步是非常重要的,因为正确的时间对于许多系统和应用程序是至关重要的。

在Linux中,有几种方法可以实现时间同步,下面我将从多个角度来介绍这些方法。

1. NTP(Network Time Protocol),NTP是一种用于同步计算机系统时钟的协议,它可以通过互联网或局域网同步系统的时间。

在Linux系统中,可以安装NTP客户端并配置为定期从NTP服务器同步时间。

常见的NTP客户端包括ntpd和chronyd。

你可以使用命令行工具如ntpd或者chronyc来配置NTP客户端并手动启动同步。

2. 使用timedatectl命令,timedatectl是一个用于配置系统时间和日期的工具,它可以用来设置时区、手动调整时间、启用或禁用网络时间同步等。

你可以使用timedatectl命令来启用NTP时间同步,例如,`sudo timedatectl set-ntp true`。

3. 使用ntpdate命令,ntpdate命令可以用来手动从NTP服务器同步时间。

你可以使用`sudo ntpdate <NTP服务器地址>`来手动同步时间。

然而,需要注意的是,ntpdate已经被弃用,推荐使用ntpd或chronyd进行时间同步。

4. 使用GUI工具,一些Linux发行版提供了图形化的工具来配置时间和日期,例如Ubuntu上的“时间和日期”设置。

通过这些图形化工具,你可以方便地配置时区、启用NTP时间同步等。

总的来说,Linux系统时间同步的方法有很多种,你可以选择适合你的需求和习惯的方法来进行时间同步。

无论使用哪种方法,都要确保系统的时间是准确的,以避免对系统和应用程序造成不必要的问题。

Linux同步网络时间的方法

Linux同步网络时间的方法

Linux自带了ntp服务 -- /etc/init.d/ntpd,没有可以yum install ntp可以选择2种方法同步时间一下操作使用root用户进行:①安装ntp后不运行ntpd服务,通过命令 ntpdate 来实现时间同步具体操作为:为网络时间服务器通过命令 ntpdate 可以使服务器的时间与这台服务器的时间同步输入命令后如果提示成功则可以把命令添加到定时任务中如:执行命令:crontab -e然后加入*/30 * * * * /usr/sbin/ntpdate 表示每30分钟同步一次时间。

该种方法需要服务器能连接网络测试时间是否同步的方法:先修改时间例如:date -s 12:30:00然后手动执行命令,或把同步时间的脚步设置为1分钟执行一次及*/1,然后使用命令 date 查看时间是否有变化。

②如果多台服务器需要同步成一致时间或自己创建一台时间服务器,使其他服务器与改服务器进行时间同步设时间服务器的IP为192.168.1.1 ;客户端服务器IP为192.168.20.50 ;需要使客户端服务器自动通过时间服务器的时间,时间服务器自动与网络时间服务器同步时间。

首先设置时间服务器安装完ntp后修改/etc/ntp.confvi /etc/ntp.conf注释掉原来的restrict default ignore这一行,这一行本身是不响应任何的ntp更新请求,其实也就是禁用了本机的ntp server的功能,所以需要注释掉。

加入:restrict 192.168.0.0 mask 255.255.0.0 ##表示192.168.0.0~192.168.254.254段的IP都可以连接该服务器进行同步时间如果需要时间服务器与网络时间服务器进行时间同步需加入以下设置:restrict 202.118.1.81 mask 255.255.255.255 nomodify notrap noquery ##可能不需要条server 202.118.1.81#### 202.118.1.81 为时间服务器IP也可以添加server xxx.xxx.xxx.xxx,让他和其他的time server 时间同步。

Linux基础知识之ntpd和ntpdate的区别

Linux基础知识之ntpd和ntpdate的区别

Linux基础知识之ntpd和ntpdate的区别在Linux操作系统设置与上级NTP时钟源同步是很基本的操作,Linux提供了ntpd和ntpdate两种方式来实现时间同步,但它们在同步原理上则有着本质的区别:ntpd在实际同步时间时是一点点的校准时间的,也可以理解为ntpd是平滑同步;而ntpdate不会考虑其他程序是否会阵痛,就立即同步。

因此在生产环境中慎用ntpdate。

我们可以结合一个应用场景来加强对ntpd和ntpdate的理解:网站限制用户注册1小时后才能发帖。

数据库服务器在 10:00分接受了我的注册邀请;10:03分,ntpdate将数据库时间强行改成9:35分;然后10:05分(9:37分)我尝试发帖,系统判断我注册时间是否满一小时会使用:9:37 – 10:00最后电脑就逻辑混乱了。

类似的案例在网上也有很详细的说明,贴出来给大家看看:时钟的跃变,有时候会导致很严重的问题。

许多应用程序依赖连续的时钟。

毕竟,这是一项常见的假定,即:取得的时间是线性的,一些操作,例如数据库事务,通常会地依赖这样的事实:时间不会往回“跳跃”。

不幸的是,ntpdate调整时间的方式就是我们所说的“跃变”,这就导致了几个非常明显的问题:1. 这样做不安全。

ntpdate的设置依赖于ntp服务器的安全性,攻击者可以利用一些软件设计上的缺陷,拿下ntp服务器并令与其同步的服务器执行某些消耗性的任务。

由于ntpdate采用的方式是跳变,跟随它的服务器无法知道是否发生了异常(时间不一样的时候,唯一的办法是以服务器为准)。

2. 这样做不精确。

一旦ntp服务器宕机,跟随它的服务器也就会无法同步时间。

与此不同,ntpd不仅能够校准计算机的时间,而且能够校准计算机的时钟。

3. 这样做不够优雅。

由于是跳变,而不是使时间变快或变慢,依赖时序的程序会出错(例如,如果ntpdate发现你的时间快了,则可能会经历两个相同的时刻,对某些应用而言,这是致命的)。

LINUX上实现SNTP(时间同步)

LINUX上实现SNTP(时间同步)

LINUX上实现SNTP(时间同步)Network Time Protocol (NTP) 也是RHCE新增的考试要求. 学习的时候也顺便复习了⼀下如何设置Linux的时间,现在拿出来和⼤家分享设置NTP服务器不难但是NTP本⾝是⼀个很复杂的协议. 这⾥只是简要地介绍⼀下实践⽅法和上次⼀样,下⾯的实验都在RHEL5上运⾏1. 时间和时区如果有⼈问你说现在⼏点? 你看了看表回答他说晚上8点了. 这样回答看上去没有什么问题,但是如果问你的这个⼈在欧洲的话那么你的回答就会让他很疑惑,因为他那⾥还太阳当空呢.这⾥就有产⽣了⼀个如何定义时间的问题. 因为在地球环绕太阳旋转的24个⼩时中,世界各地⽇出⽇落的时间是不⼀样的.所以我们才有划分时区(timezone) 的必要,也就是把全球划分成24个不同的时区. 所以我们可以把时间的定义理解为⼀个时间的值加上所在地的时区(注意这个所在地可以精确到城市)地理课上我们都学过格林威治时间(GMT), 它也就是0时区时间. 但是我们在计算机中经常看到的是UTC. 它是Coordinated Universal Time的简写. 虽然可以认为UTC和GMT的值相等(误差相当之⼩),但是UTC已经被认定为是国际标准,所以我们都应该遵守标准只使⽤UTC那么假如现在中国当地的时间是晚上8点的话,我们可以有下⾯两种表⽰⽅式20:00 CST12:00 UTC这⾥的CST是Chinese Standard Time,也就是我们通常所说的北京时间了. 因为中国处在UTC+8时区,依次类推那么也就是12:00 UTC了.为什么要说这些呢(呵呵这⾥不是地理论坛吧...)第⼀,不管通过任何渠道我们想要同步系统的时间,通常提供⽅只会给出UTC+0的时间值⽽不会提供时区(因为它不知道你在哪⾥).所以当我们设置系统时间的时候,设置好时区是⾸先要做的⼯作第⼆,很多国家都有夏令时(我记得⼩时候中国也实⾏过⼀次),那就是在⼀年当中的某⼀天时钟拨快⼀⼩时(⽐如从UTC+8⼀下变成UTC+9了),那么同理到时候还要再拨慢回来.如果我们设置了正确的时区,当需要改变时间的时候系统就会⾃动替我们调整现在我们就来看⼀下如何在Linux下设置时区,也就是time zone2. 如何设置Linux Time Zone在Linux下glibc提供了我们事先编译好的许多timezone⽂件, 他们就放在/usr/share/zoneinfo这个⽬录下,这⾥基本涵盖了⼤部分的国家和城市代码:# ls -F /usr/share/zoneinfo/Africa/ Chile/ Factory Iceland Mexico/ posix/ UniversalAmerica/ CST6CDT GB Indian/ Mideast/ posixrules US/Antarctica/ Cuba GB-Eire Iran MST PRC UTCArctic/ EET GMT iso3166.tab MST7MDT PST8PDT WETAsia/ Egypt GMT0 Israel Navajo right/ W-SUAtlantic/ Eire GMT-0 Jamaica NZ ROC zone.tabAustralia/ EST GMT+0 Japan NZ-CHAT ROK ZuluBrazil/ EST5EDT Greenwich Kwajalein Pacific/ SingaporeCanada/ Etc/ Hongkong Libya Poland TurkeyCET Europe/ HST MET Portugal UCT在这⾥⾯我们就可以找到⾃⼰所在城市的time zone⽂件. 那么如果我们想查看对于每个time zone当前的时间我们可以⽤zdump命令代码:# zdump HongkongHongkong Fri Jul 6 06:13:57 2007 HKT那么我们⼜怎么来告诉系统我们所在time zone是哪个呢? ⽅法有很多,这⾥举出两种第⼀个就是修改/etc/localtime这个⽂件,这个⽂件定义了我么所在的local time zone.我们可以在/usr/share/zoneinfo下找到我们的time zone⽂件然后拷贝去到/etc/localtimezone(或者做个symbolic link)假设我们现在的time zone是BST(也就是英国的夏令时间,UTC+1)代码:# dateThu Jul 5 23:33:40 BST 2007我们想把time zone换成上海所在的时区就可以这么做代码:# ln -sf /usr/share/zoneinfo/posix/Asia/Shanghai /etc/localtime# dateFri Jul 6 06:35:52 CST 2007这样时区就改过来了(注意时间也做了相应的调整)第⼆种⽅法也就设置TZ环境变量的值. 许多程序和命令都会⽤到这个变量的值. TZ的值可以有多种格式,最简单的设置⽅法就是使⽤tzselect命令代码:# tzselect...TZ='America/Los_Angeles';export TZtzselect会让你选择所在的国家和城市(我省略了这些步骤),最后输出相应的TZ变量的值.那么如果你设置了TZ的值之后时区就⼜会发⽣变化代码:# dateThu Jul 5 15:48:11 PDT 2007通过这两个例⼦我们也可以发现TZ变量的值会override /etc/localtime. 也就是说当TZ变量没有定义的时候系统才使⽤/etc/localtime来确定time zone. 所以你想永久修改time zone的话那么可以把TZ变量的设置写⼊/etc/profile⾥好了现在我们知道怎么设置时区了,下⾯我们就来看看如何设置Linux的时间吧3. Real Time Clock(RTC) and System Clock说道设置时间这⾥还要明确另外⼀个概念就是在⼀台计算机上我们有两个时钟:⼀个称之为硬件时间时钟(RTC),还有⼀个称之为系统时钟(System Clock)硬件时钟是指嵌在主板上的特殊的电路, 它的存在就是平时我们关机之后还可以计算时间的原因系统时钟就是操作系统的kernel所⽤来计算时间的时钟. 它从1970年1⽉1⽇00:00:00 UTC时间到⽬前为⽌秒数总和的值在Linux下系统时间在开机的时候会和硬件时间同步(synchronization),之后也就各⾃独⽴运⾏了那么既然两个时钟独⾃运⾏,那么时间久了必然就会产⽣误差了,下⾯我们来看⼀个例⼦代码:# dateFri Jul 6 00:27:13 BST 2007# hwclock --showFri 06 Jul 2007 12:27:17 AM BST -0.968931 seconds通过hwclock --show 命令我们可以查看机器上的硬件时间(always in local time zone), 我们可以看到它和系统时间还是有⼀定的误差的, 那么我们就需要把他们同步如果我们想要把硬件时间设置成系统时间我们可以运⾏以下命令代码:# hwclock --hctosys反之,我们也可以把系统时间设置成硬件时间代码:# hwclock --systohc那么如果想设置硬件时间我们可以开机的时候在BIOS⾥设定.也可以⽤hwclock命令代码:# hwclock --set --date="mm/dd/yy hh:mm:ss"如果想要修改系统时间那么⽤date命令就最简单了代码:# date -s "dd/mm/yyyy hh:mm:ss"现在我们知道了如何设置系统和硬件的时间. 但问题是如果这两个时间都不准确了怎么办? 那么我们就需要在互联⽹上找到⼀个可以提供我们准确时间的服务器然后通过⼀种协议来同步我们的系统时间,那么这个协议就是NTP了. 注意接下去我们所要说的同步就都是指系统时间和⽹络服务器之间的同步了4. 设置NTP Server前的准备其实这个标题应该改为设置"NTP Relay Server"前的准备更加合适. 因为不论我们的计算机配置多好运⾏时间久了都会产⽣误差,所以不⾜以给互联⽹上的其他服务器做NTP Server. 真正能够精确地测算时间的还是原⼦钟. 但由于原⼦钟⼗分的昂贵,只有少部分组织拥有, 他们连接到计算机之后就成了⼀台真正的NTP Server. ⽽我们所要做的就是连接到这些服务器上同步我们系统的时间,然后把我们⾃⼰的服务器做成NTP Relay Server再给互联⽹或者是局域⽹内的⽤户提供同步服务好了,前⾯讲了⼀⼤堆理论,现在我们来动⼿实践⼀下吧. 架设⼀个NTP Relay Server其实⾮常简单,我们先把需要的RPM包装上是否已经安装了NTP包可以⽤这条命令来确定:[root@NTPser ~]# rpm -qa | grep ntpntp-4.2.2p1-9.el5_4.1chkfontpath-1.10.1-1.1出现以上代码则表⽰已安装NTP包,否则⽤下⾯⽅法安装:代码:# rpm -ivh ntp-4.2.2p1-5.el5.rpm那么第⼀步我们就要找到在互联⽹上给我们提供同步服务的NTP Server它的⼀般格式都是第⼆步要做的就是在打开NTP服务器之前先和这些服务器做⼀个同步,使得我们机器的时间尽量接近标准时间.这⾥我们可以⽤ntpdate命令⼿动更新时间代码:# ntpdate 6 Jul 01:21:49 ntpdate[4528]: step time server 213.222.193.35 offset -38908.575181 sec# ntpdate 6 Jul 01:21:56 ntpdate[4530]: adjust time server 213.222.193.35 offset -0.000065 sec假如你的时间差的很离谱的话第⼀次会看到调整的幅度⽐较⼤,所以保险起见可以运⾏两次. 那么为什么在打开NTP服务之前先要⼿动运⾏同步呢?1. 因为根据NTP的设置,如果你的系统时间⽐正确时间要快的话那么NTP是不会帮你调整的,所以要么你把时间设置回去,要么先做⼀个⼿动同步2. 当你的时间设置和NTP服务器的时间相差很⼤的时候,NTP会花上较长⼀段时间进⾏调整.所以⼿动同步可以减少这段时间5. 配置和运⾏NTP Server现在我们就来创建NTP的配置⽂件了, 它就是/etc/ntp.conf. 我们只需要加⼊上⾯的NTP Server和⼀个driftfile就可以了代码:# vi /etc/ntp.confserver 210.72.145.44 #这是中国国家授时中⼼的IPserver server fudge 127.127.1.0 stratum 0 stratum 这⾏是时间服务器的层次。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

linux时间同步,ntpd、ntpdate在Windwos中,系统时间的设置很简单,界面操作,通俗易懂。

而且设置后,重启,关机都没关系。

系统时间会自动保存在Bios的时钟里面,启动计算机的时候,系统会自动在Bios里面取硬件时间,以保证时间的不间断。

但在Linux下,默认情况下,系统时间和硬件时间,并不会自动同步。

在Linux运行过程中,系统时间和硬件时间以异步的方式运行,互不干扰。

硬件时间的运行,是靠Bios电池来维持,而系统时间,是用CPU tick来维持的。

在系统开机的时候,会自动从Bios中取得硬件时间,设置为系统时间。

一.Linux系统时间的设置在Linux中设置系统时间,可以用date命令://查看时间[root@localhost ~]# date2008年12月12日星期五14:44:12 CST//修改时间[root@localhost ~]# date --set "1/1/09 00:01" <== (月/日/年时:分:秒)2009年01月01日星期四00:01:00 CST//date 有几种时间格式可接受,这样也可以设置时间:[root@localhost ~]# date 012501012009.30 <== 月日时分年.秒2009年01月25日星期日01:01:30 CST二.Linux硬件时间的设置硬件时间的设置,可以用hwclock或者clock命令。

其中,clock和hwclock用法相近,只用一个就行,只不过clock命令除了支持x86硬件体系外,还支持Alpha硬件体系。

//查看硬件时间可以是用hwclock ,hwclock --show 或者hwclock -r[root@localhost ~]# hwclock --show2008年12月12日星期五06时52分07秒-0.376932 seconds//设置硬件时间[root@localhost ~]# hwclock --set --date="1/25/09 00:00" <== 月/日/年时:分:秒[root@localhost ~]# hwclock2009年01月25日星期日00时00分06秒-0.870868 seconds三.系统时间和硬件时间的同步同步系统时间和硬件时间,可以使用hwclock命令。

//以系统时间为基准,修改硬件时间[root@localhost ~]# hwclock --systohc <== sys(系统时间)to(写到)hc(Hard Clock)[root@localhost ~]# hwclock -w//以硬件时间为基准,修改系统时间[root@localhost ~]# hwclock --hctosys[root@localhost ~]# hwclock -s四.不同机器之间的时间同步为了避免主机时间因为长期运作下所导致的时间偏差,进行时间同步(synchronize)的工作是非常必要的。

Linux系统下,一般使用ntp服务器来同步不同机器的时间。

一台机器,可以同时是ntp服务器和ntp客户机。

在网络中,推荐使用像DNS服务器一样分层的时间服务器来同步时间。

同步时间,可以使用ntpdate命令,也可以使用ntpd服务。

使用ntpdate比较简单。

格式如下:[root@linux ~]# ntpdate [-nv] [NTP IP/hostname][root@linux ~]# ntpdate 192.168.0.2[root@linux ~]# ntpdate 但这样的同步,只是强制性的将系统时间设置为ntp服务器时间。

如果cpu tick有问题,只是治标不治本。

所以,一般配合cron命令,来进行定期同步设置。

比如,在crontab中添加:0 12 * * * * /usr/sbin/ntpdate 192.168.0.1这样,会在每天的12点整,同步一次时间。

ntp服务器为192.168.0.1。

使用ntpd服务,要好于ntpdate加cron的组合。

因为,ntpdate同步时间,会造成时间的跳跃,对一些依赖时间的程序和服务会造成影响。

比如sleep,timer等。

而且,ntpd服务可以在修正时间的同时,修正cpu tick。

理想的做法为,在开机的时候,使用ntpdate强制同步时间,在其他时候使用ntpd服务来同步时间。

要注意的是,ntpd 有一个自我保护设置: 如果本机与上源时间相差太大, ntpd 不运行. 所以新设置的时间服务器一定要先ntpdate 从上源取得时间初值, 然后启动ntpd服务。

ntpd服务运行后, 先是每64秒与上源服务器同步一次, 根据每次同步时测得的误差值经复杂计算逐步调整自己的时间, 随着误差减小,逐步增加同步的间隔. 每次跳动, 都会重复这个调整的过程.五.ntpd服务的设置ntpd服务的相关设置文件如下:1./etc/ntp.conf:这个是NTP daemon的主要设文件,也是NTP 唯一的设定文件。

2./usr /share/zoneinfo/:在这个目录下的文件其实是规定了各主要时区的时间设定文件,例如北京地区的时区设定文件在/usr/share/zoneinfo/Asia/Beijing 就是了。

这个目录里面的文件与底下要谈的两个文件(clock 与localtime)是有关系的。

3./etc/sysconfig/clock:这个文件其实也不包含在NTP 的daemon 当中,因为这个是linux 的主要时区设定文件。

每次开机后,Linux 会自动的读取这个文件来设定自己系统所默认要显示的时间。

4./etc /localtime:这个文件就是“本地端的时间配置文件”。

刚刚那个clock 文件里面规定了使用的时间设置文件(ZONE) 为/usr/share/zoneinfo/Asia/Beijing ,所以说,这就是本地端的时间了,此时,Linux系统就会将Beijing那个文件另存为一份/etc/localtime文件,所以未来我们的时间显示就会以Beijing那个时间设定文件为准。

5. /etc/timezone:系统时区文件下面重点说说/etc/ntp.conf文件的设置。

在NTP Server 的设定上面,其实最好不要对Internet 无限制的开放,尽量仅提供您自己内部的Client 端联机进行网络校时就好。

此外,NTP Server 总也是需要网络上面较为准确的主机来自行更新自己的时间啊,所以在我们的NTP Server 上面也要找一部最靠近自己的Time Server 来进行自我校正。

事实上,NTP 这个服务也是Server/Client 的一种模式。

[root@linux ~]# vi /etc/ntp.conf# 1. 关于权限设定部分#权限的设定主要以restrict 这个参数来设定,主要的语法为:# restrict IP mask netmask_IP parameter# 其中IP 可以是软件地址,也可以是default ,default 就类似0.0.0.0#至于paramter 则有:#ignore:关闭所有的NTP 联机服务#nomodify:表示Client 端不能更改Server 端的时间参数,不过,#Client 端仍然可以透过Server 端来进行网络校时。

#notrust :该Client 除非通过认证,否则该Client 来源将被视为不信任网域#noquery :不提供Client 端的时间查询#notrap :不提供trap这个远程事件登入#如果paramter 完全没有设定,那就表示该IP (或网域)“没有任何限制”restrict default nomodify notrap noquery# 关闭所有的NTP 要求封包restrict 127.0.0.1#这是允许本级查询restrict 192.168.0.1 mask 255.255.255.0 nomodify#在192.168.0.1/24网段内的服务器就可以通过这台NTP Server进行时间同步了# 2. 上层主机的设定#要设定上层主机主要以server 这个参数来设定,语法为:#server [IP|HOST Name] [prefer]#Server 后面接的就是我们上层Time Server 啰!而如果Server 参数#后面加上perfer 的话,那表示我们的NTP 主机主要以该部主机来作为#时间校正的对应。

另外,为了解决更新时间封包的传送延迟动作,#所以可以使用driftfile 来规定我们的主机#在与Time Server 沟通时所花费的时间,可以记录在driftfile#后面接的文件内,例如下面的范例中,我们的NTP server 与#联机时所花费的时间会记录在/etc/ntp/drift文件内server server server server prefer#其他设置值,以系统默认值即可server 127.127.1.0 # local clockfudge 127.127.1.0 stratum 10driftfile /var/lib/ntp/driftbroadcastdelay 0.008keys /etc/ntp/keys总结一下,restrict用来设置访问权限,server用来设置上层时间服务器,driftfile用来设置保存漂移时间的文件。

六.ntp服务的启动与观察在启动NTP服务前,先对提供服务的这台主机手动的校正一次时间咯。

(因为启动服务器,端口会被服务端占用,就不能手动同步时间了)[root@linux ~] # ntpdate 25 Apr 14:33:51 ntpdate[8310]: step time server 80.85.129.2 offset 6.655976 sec然后,启动ntpd服务:[root@linux ~] # service ntpd start或[root@linux ~] # /etc/init.d/ntpd start查看端口:[root@linux ~] # netstat -ln|grep 123udp 0 0 192.168.228.153:123 0.0.0.0:*udp 0 0 127.0.0.1:123 0.0.0.0:*udp 0 0 0.0.0.0:123 0.0.0.0:*udp 0 0 :::123 :::*如何确认我们的NTP服务器已经更新了自己的时间呢?[root@linux ~] # ntpstatsynchronized to NTP server(127.127.1.0) at stratum 11time correct to within 950mspolling server every 64 s#改指令可列出NTP服务器是否与上层联机。

相关文档
最新文档