linux时钟同步
- 格式:rtf
- 大小:45.10 KB
- 文档页数:19
linux时间同步1. 与一个已知的时间服务器同步2. 配置网络时间协议(ntp)1. 让linux自动同步时间#crontab -e加上一句:00 0 1 * * root rdate -s 是一个时间服务器.2. 时间服务器配置(192.168.0.10)2.1 # rpm -ivh ntp-4.1.2-4.EL3.1.i386.rpm2.2 # vi /etc/ntp.conf注释一行restrict default ignore加入一行restrict 192.168.0.10 mask 255.255.255.0 notrust nomodify notrap2.3 # vi /etc/ntp/step-tickers加入一行 这样每次ntpd启动时,会自动连接该国际标准时间服务器;2.4 # service ntpd start2.5 # netstat -an |grep 123 确保该端口以udp方式开放时间客户端配置(192.168.0.10)1)# ntpdate 192.168.10.2 应该显示同步成功2)# crontab -e加入0-59/10 * * * * /usr/sbin/ntpdate 192.168.10.1表示每隔10分钟同步一次时间如果你的linux client是加入到windows域内,且你的网络内已经设置了time server 你可以直接运行2)# crontab -e加入0-59/10 * * * * /usr/sbin/ntpdate time server 的FDN比如我的就是: 0-59/10 * * * * /usr/sbin/ntpdate 。
Linux终端命令系统时间与时钟同步在Linux操作系统中,系统时间和时钟同步起着至关重要的作用。
正确的系统时间和时钟同步可以确保计算机的各项操作正常进行,并避免由于时间差异引起的问题。
本文将介绍Linux终端命令中常用的方法,用于同步系统时间和时钟。
一、查看当前系统时间和时钟状态1. date命令date命令是Linux中用于显示和修改系统日期与时间的命令。
要查看当前系统时间,只需在终端中输入以下命令:```shelldate```运行该命令后,终端会返回当前系统的日期和时间信息。
2. timedatectl命令timedatectl是Linux提供的时间和日期管理工具,可以查看和配置系统的时间和时区设置。
要查看当前系统时间和时钟状态,可以在终端中输入以下命令:```shelltimedatectl```终端会返回当前系统的时间、时区、夏令时状态等信息。
二、同步系统时间与时钟1. 使用ntpdate命令ntpdate命令是Linux中常用的同步系统时间和时钟的命令。
ntpdate通过与NTP服务器进行通信,自动调整系统的时间。
要使用ntpdate命令同步系统时间,可以在终端中输入以下命令: ```shellsudo ntpdate 服务器地址```其中,服务器地址为可用的NTP服务器地址,可以选择离自己地理位置近、可靠性高的服务器进行同步。
2. 使用timedatectl命令timedatectl命令同样可以用于同步系统时间和时钟。
要使用timedatectl命令同步系统时间,可以在终端中输入以下命令: ```shellsudo timedatectl set-time "YYYY-MM-DD HH:MM:SS"```其中,YYYY-MM-DD代表年月日,HH:MM:SS代表时分秒,将其替换为实际的时间参数即可。
三、自动同步系统时间为了确保系统时间始终与时钟同步,可以设置自动同步时间的功能。
Linux的时间设置和同步(NTP)Network Time Protocol (NTP) 也是RHCE新增的考试需求. 学习的时候也顺便复习了⼀下怎么设置Linux的时间,⽬前拿出来和⼤家分享设置NTP服务器不难不过NTP本⾝是个⾮常复杂的协议. 这⾥只是简要地介绍⼀下实践⽅法和上次相同,下⾯的实验都在RHEL5上运⾏1. 时间和时区如果有⼈问你说⽬前⼏点? 你看了看表回答他说晚上8点了. 这样回答看上去没有什么问题,不过如果问你的这个⼈在欧洲的话那么你的回答就会让他⾮常疑惑,因为他那⾥还太阳当空呢.这⾥就有产⽣了⼀个怎么定义时间的问题.因为在地球环绕太阳旋转的24个⼩时中,世界各地⽇出⽇落的时间是不相同的.所以我们才有划分时区(timezone)的必要,也就是把全球划分成24个不同的时区. 所以我们能把时间的定义理解为⼀个时间的值加上所在地的时区(注意这个所在地能精确到城市)地理课上我们都学过格林威治时间(GMT), 他也就是0时区时间. 不过我们在计算机中经常看到的是UTC. 他是CoordinatedUniversal 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 RelayServer再给互连⽹或是局域⽹内的⽤户提供同步服务好了,前⾯讲了⼀⼤堆理论,⽬前我们来动⼿实践⼀下吧. 架设⼀个NTP Relay Server其实⾮常简单,我们先把需要的RPM包装上代码:# rpm -ivh ntp-4.2.2p1-5.el5.rpm那么第⼀步我们就要找到在互连⽹上给我们提供同步服务的NTP Server是NTP的官⽅⽹站,在这上⾯我们能找到离我们城市最近的NTP Server. NTP建议我们为了保障时间的准确性,最少找两个个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 server driftfile /var/lib/ntp/ntp.drift⾮常的简单. 接下来我们就启动NTP Server,并且设置其在开机后⾃动运⾏代码:# /etc/init.d/ntpd/start# chkconfig --level 35 ntpd on6. 查看NTP服务的运⾏状况⽬前我们已启动了NTP的服务,不过我们的系统时间到底和服务器同步了没有呢? 为此NTP提供了⼀个⾮常好的查看⼯具: ntpq (NTP query)我建议⼤家在打开NTP服务器后就能运⾏ntpq命令来监测服务器的运⾏.这⾥我们能使⽤watch命令来查看⼀段时间内服务器各项数值的变化代码:# watch ntpq -pEvery 2.0s: ntpq -p Sat Jul 7 00:41:45 2007remote refid st t when poll reach delay offset jitter============================================================================== +193.60.199.75 193.62.22.98 2 u 52 64 377 8.578 10.203 289.032*mozart.musicbox 192.5.41.41 2 u 54 64 377 19.301 -60.218 292.411⽬前我就来解释⼀下其中的含义remote: 他指的就是本地机器所连接的远程NTP服务器refid: 他指的是给远程服务器(e.g. 193.60.199.75)提供时间同步的服务器st: 远程服务器的级别. 由于NTP是层型结构,有顶端的服务器,多层的Relay Server再到客户端. 所以服务器从⾼到低级别能设定为1-16. 为了减缓负荷和⽹络堵塞,原则上应该避免直接连接到级别为1的服务器的.t: 这个.....我也不知道啥意思^_^when: 我个⼈把他理解为⼀个计时器⽤来告诉我们更有多久本地机器就需要和远程服务器进⾏⼀次时间同步poll: 本地机和远程服务器多少时间进⾏⼀次同步(单位为秒). 在⼀开始运⾏NTP的时候这个poll值会⽐较⼩,那样和服务器同步的频率也就增加了,能尽快调整到正确的时间范围.之后poll值会逐渐增⼤,同步的频率也就会相应减⼩reach: 这是个⼋进制值,⽤来测试能否和服务器连接.每成功连接⼀次他的值就会增加delay: 从本地机发送同步需求到服务器的round trip timeoffset: 这是个最关键的值, 他告诉了我们本地机和服务器之间的时间差别. offset越接近于0,我们就和服务器的时间越接近jitter: 这是个⽤来做统计的值. 他统计了在特定个连续的连接数⾥offset的分布情况. 简单地说这个数值的绝对值越⼩我们和服务器的时间就越精确那么⼤家细⼼的话就会发现两个问题: 第⼀我们连接的是为什么和remote server不相同? 第⼆那个最前⾯的+和*都是什么意思呢?第⼀个问题不难理解,因为NTP提供给我们的是个cluster server所以每次连接的得到的服务器都有可能是不相同.同样这也告诉我们了在指定NTP Server的时候应该使⽤hostname⽽不是IP第⼆个问题和第⼀个相关,既然有这么多的服务器就是为了在发⽣问题的时候其他的服务器还能正常地给我们提供服务.那么怎么知道这些服务器的状态呢? 这就是第⼀个记号会告诉我们的信息*他告诉我们远端的服务器已被确认为我们的主NTP Server,我们系统的时间将由这台机器所提供+他将作为辅助的NTP Server和带有*号的服务器⼀起为我们提供同步服务. 当*号服务器不可⽤时他就能接管-远程服务器被clustering algorithm认为是不合格的NTP Serverx远程服务器不可⽤了解这些之后我们就能实时监测我们系统的时间同步状况了7. NTP安全设置运⾏⼀个NTP Server不必占⽤⾮常多的系统资源,所以也不⽤专门设置独⽴的服务器,就能给许多client提供时间同步服务, 不过⼀些基本的安全设置还是⾮常有必要的那么这⾥⼀个⾮常简单的思路就是第⼀我们只允许局域⽹内⼀部分的⽤户连接到我们的服务器. 第⼆个就是这些client不能修改我们服务器上的时间在/etc/ntp.conf⽂件中我们能⽤restrict关键字来设置上⾯的需求⾸先我们对于默认的client拒绝所有的操作代码:restrict default kod nomodify notrap nopeer noquery然后允许本机地址⼀切的操作代码:restrict 127.0.0.1最后我们允许局域⽹内所有client连接到这台服务器同步时间.不过拒绝让他们修改服务器上的时间代码:restrict 192.168.1.0 mask 255.255.255.0 nomodify把这三条加⼊到/etc/ntp.conf中就完成了我们的简单设置. NTP还能⽤key来做authenticaiton,这⾥就不周详介绍了8. NTP client的设置做到这⾥我们已有了⼀台⾃⼰的RelayServer.如果我们想让局域⽹内的其他client都进⾏时间同步的话那么我们就都应该照样再搭建⼀台RelayServer,然后把所有的client都指向这两台服务器(注意不要把所有的client都指向Internet上的服务器).只要在client的ntp.conf加上这你⾃⼰的服务器就能了代码:server server 9. ⼀些补充和拾遗1. 设置⽂件中的driftfile是什么?我们每⼀个system clock的频率都有⼩⼩的误差,这个就是为什么机器运⾏⼀段时间后会不精确. NTP会⾃动来监测我们时钟的误差值并予以调整.但问题是这是个冗长的过程,所以他会把记录下来的误差先写⼊driftfile.这样即使你重新开机以后之前的计算结果也就不会丢失了2. 怎么同步硬件时钟?NTP⼀般只会同步system clock. 不过如果我们也要同步RTC的话那么只需要把下⾯的选项打开就能了代码:# vi /etc/sysconfig/ntpdSYNC_HWCLOCK=yes10. 参考资料1./cgi/man.cgi?q...conf&sektion=5不知为什么Redhat没有ntp.conf的man page.费了好⼤劲才从FreeBSD上找到了.2./~mills/ntp/html/index.html官⽅的NTP⽂件3./HOWTO/TimePrecision-HOWTO/index.htmlThe Linux Documentation Project上的NTP HOWTO4./全球NTP服务器提供站中国。
linuxNTP配置和检查服务,时间同步背景:由于Hbase等应⽤服务器对集群服务器间的时间极为严格,在⽹络不好的时候会出现抖动,或集群服务器之间存在时间差,固使⽤局域⽹的授时服务器对集群或局域⽹内的Linux进⾏时间⾃动同步,解决⼀些异常问题参考⽂档:其他具体操作步骤:1、修改ntp.conf#编辑ntp配置⽂件vim /etc/ntp.conf#添加或替换以下内容driftfile /var/lib/ntp/drift#下⾯两⾏默认是拒绝所有来源的任何访问restrict default nomodify notrap nopeer noquery#开放本机的任何访问restrict 127.0.0.1restrict ::1#下⾯两⾏为配置⽂件默认开启includefile /etc/ntp/crypto/pwkeys /etc/ntp/keysdisable monitor#指定受授时服务器server iburstserver iburst2、编写DNS客户端配置⽂件vim /etc/resolv.conf#在已有的Nameserver后⾯继续增加⼀⾏nameserver 169.254.0.293、重启ntp及检查ntp#重启ntpdsystemctl restart ntpd#检查ntpq -p更多详情了解/etc/resolv.conf它是DNS客户机配置⽂件,⽤于设置DNS服务器的IP地址及DNS域名,还包含了主机的域名搜索顺序。
该⽂件是由域名解析器(resolver,⼀个根据主机名解析IP地址的库)使⽤的配置⽂件。
它的格式很简单,每⾏以⼀个关键字开头,后接⼀个或多个由空格隔开的参数。
resolv.conf的关键字主要有四个,分别是:nameserver //定义DNS服务器的IP地址domain //定义本地域名search //定义域名的搜索列表sortlist //对返回的域名进⾏排序下⾯我们给出⼀个/etc/resolv.conf的⽰例:domainsearchnameserver 202.102.192.68nameserver 202.102.192.69最主要是nameserver关键字,如果没指定nameserver就找不到DNS服务器,其它关键字是可选的。
linux时间同步,ntpd、ntpdate2010-10-13 09:01:02| 分类: LINUX | 标签: |字号大中小订阅在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命令。
Linux下时钟时区以及时间同步的命令和配置Linux下时钟时区以及时间同步的命令和配置=================================第一部分:设置时间=================================我们一般使用“date -s”命令来修改系统时间 (这里说的是系统时间,是linux由操作系统维护的。
)。
比如将系统时间设定成1996年6月10日的命令如下。
#date -s 06/10/96将系统时间设定成下午1点12分0秒的命令如下。
#date -s 13:12:00将日期时间设置成1996年6月10日下午1点12分0秒可以用#date -s "06/10/1996 13:12:00"这里的格式是 "MM/DD/YYYY hh:mm:ss"或者#date 061013121996.00这里的格式是MMDDhhmmYYYY.ss (月日时分年.秒)在系统启动时,Linux操作系统将时间从CMOS中读到系统时间变量中,以后修改时间通过修改系统时间实现。
为了保持系统时间与CMOS 时间的一致性, Linux每隔一段时间会将系统时间写入CMOS。
由于该同步是每隔一段时间(大约是11分钟)进行的,在我们执行date -s后,如果马上重起机器,修改时间就有可能没有被写入CMOS,这就是问题的原因。
如果要确保修改生效可以执行如下命令。
#hwclock -w这个命令强制把系统时间写入CMOS,(等同于hwclock --systohc)Linux将时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟两种。
系统时间是指当前Linux Kernel中的时钟,而硬件时钟则是主板上由电池供电的那个主板硬件时钟,这个时钟可以在BIOS的Standard BIOS Feture”项中进行设置。
在 Linux中,用于时钟查看和设置的命令主要有date、hwclock 和clock。
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时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟。
系统时钟是指当前Linux Kernel 中的时钟,而硬件时钟则是主板上由电池供电的时钟,这个硬件时钟可以在BIOS中进行设置。
当Linux启动时,硬件时钟会去读取系统时钟的设置,然后系统时钟就会独立于硬件运作。
Linux中的所有命令(包括函数)都是采用的系统时钟设置。
在Linux中,用于时钟查看和设置的命令主要有date、hwclock 和clock。
其中,clock和hwclock用法相近,只用一个就行,只不过clock命令除了支持x86硬件体系外,还支持Alpha硬件体系。
1、date查看系统时间# date设置系统时间# date --set “07/07/06 10:19" (月/日/年时:分:秒)2、hwclock/clock查看硬件时间# hwclock --show或者# clock --show设置硬件时间# hwclock --set --date="07/07/06 10:19" (月/日/年时:分:秒)或者# clock --set --date="07/07/06 10:19" (月/日/年时:分:秒)3、硬件时间和系统时间的同步按照前面的说法,重新启动系统,硬件时间会读取系统时间,实现同步,但是在不重新启动的时候,需要用hwclock或clock 命令实现同步。
硬件时钟与系统时钟同步:# hwclock --hctosys(hc代表硬件时间,sys代表系统时间)或者# clock --hctosys 系统时钟和硬件时钟同步:# hwclock --systohc或者# clock --systohc。
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命令。
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 这⾏是时间服务器的层次。
Linux配置NTP时间同步Linux配置NTP时间同步⼀、ntp和ntpdate区别两个服务都是centos⾃带的(centos7中不⾃带ntp)ntp守护进程为ntpd,配置⽂件是/etc/ntp.confntpdate⽤于客户端的时间矫正,⾮NTP服务器可以不启动NTP。
⼆、搭建NTP(network time protocol ⽹络时间协议)⽤于同步计算机和⽹络设备的内部的时间⼀种协议NTP Server服务器IP:192.168.1.111NTP Client客户端IP:192.168.1.1122.1、搭建NTP服务器yum install -y ntp2.1.1、修改配置⽂件[root@master ~]# vim /etc/ntp.conf把配置⽂件下⾯四⾏注释掉:server iburstserver iburstserver iburstserver iburst然后在下⾯添加这⼏⾏:server iburstserver iburstserver iburstserver iburst2.2.2、启动ntp服务,并开机⾃启动启动ntp服务,并开机⾃启动[root@master ~]# systemctl start ntpd[root@master ~]# systemctl enable ntpd2.2.3、查询ntp是否同步【命令】ntpq -premote:本机和上层ntp的ip或主机名,“+”表⽰优先,“*”表⽰次优先refid:参考上⼀层ntp主机地址st:stratum阶层when:多少秒前曾经同步过时间poll:下次更新在多少秒后reach:已经向上层ntp服务器要求更新的次数delay:⽹络延迟offset:时间补偿jitter:系统时间与bios时间差[root@master ~]# dateTue Nov 17 21:24:24 CST 2020[root@master ~]# ntpq -premote refid st t when poll reach delay offset jitter============================================================================== time.cloudflare .STEP. 16 u - 64 0 0.000 0.000 0.000ntp7.flashdance .STEP. 16 u - 64 0 0.000 0.000 0.000202.118.1.130 .STEP. 16 u - 64 0 0.000 0.000 0.000*ntp5.flashdance 194.58.202.20 2 u 11 64 1 372.035 -17.860 28.092[root@master ~]# ntpstatsynchronised to NTP server (193.182.111.14) at stratum 3time correct to within 244 mspolling server every 64 s[root@master ~]# timedatectlLocal time: Tue 2020-11-17 22:37:02 CSTUniversal time: Tue 2020-11-17 14:37:02 UTCRTC time: Tue 2020-11-17 14:37:03Time zone: Asia/Shanghai (CST, +0800)NTP enabled: yesNTP synchronized: yesRTC in local TZ: noDST active: n/a[root@master ~]# ntpdate -u 193.182.111.1417 Nov 22:38:10 ntpdate[7787]: adjust time server 193.182.111.14 offset 0.039557 sec2.3、NTP客户端配置yum install -y ntp2.3.1、修改配置⽂件[root@slave1 ~]# vim /etc/ntp.conf#配置允许NTP Server时间服务器主动修改本机的时间restrict 192.168.1.111 nomodify notrap noquery#配置时间服务器为本地搭建的NTP Server服务器server 192.168.1.111 iburst#配置允许上游时间服务器主动修改本机的时间restrict 192.168.1.111 nomodify notrap noquery#注释掉其他时间服务器#server iburst#server iburst#server iburst#server iburst2.3.2、启动ntp服务,并开机⾃启动启动ntp服务,并开机⾃启动systemctl start ntpdsystemctl enable ntpd2.3.3、查看同步的主服务器,显⽰如下表⽰成功# 启动后查看[root@slave1 ~]# ntpq -pnremote refid st t when poll reach delay offset jitter============================================================================== 192.168.1.111 202.12.97.45 2 u 20 64 0 0.000 0.000 0.000。
一. 使用ntpdate 命令1.1 服务器可链接外网时# crontab -e加入一行:*/1 * * * * ntpdate 210.72.145.44210.72.145.44 为中国国家授时中心服务器地址,这样该机每隔1分重就可以与国家授时中心进行同步了。
注意:在使用ntpdate 命令时,ntpd 服务必须是关闭的,否则会报the NTP socket is in use, exiting 错误。
关闭ntpd 服务命令如下:[root@node2 init.d]# /etc/init.d/ntpd stopShutting down ntpd: [ OK ] 1.2. 架设本地时间服务器需要修改/etc/ntp.conf文件里的几个配置就可以了,比如本地时间服务器IP 为10.85.10.119,配置如下:server 210.72.145.44 prefer (中国国家授时中心服务器地址prefer表示优先注意把默认的server更改成这样)server 127.127.1.0 (本地时间)restrict 10.85.10.0 mask 255.255.255.0 nomodify (允许10..85.10.* 的IP 使用该时间服务器)restrict 0.0.0.0 mask 0.0.0.0 nomodify notrap noquery notrust (屏蔽其他IP过来更新时间)其他的保持默认不动。
使NTP服务可以在系统引导的时候自动启动,执行:# chkconfig ntpd on启动/关闭/重启NTP的命令:# /etc/init.d/ntpd start# /etc/init.d/ntpd stop# /etc/init.d/ntpd restart#service ntpd restart将同步好的时间写到CMOS里vi /etc/sysconfig/ntpdSYNC_HWCLOCK=yes每次修改了配置文件后都需要重新启动服务来使配置生效。
Linux时间同步时间同步⼤数据产⽣与处理系统是各种计算设备集群的,计算设备将统⼀、同步的标准时间⽤于记录各种事件发⽣时序,如E-MAIL信息、⽂件创建和访问时间、数据库处理时间等。
⼤数据系统内不同计算设备之间控制、计算、处理、应⽤等数据或操作都具有时序性,若计算机时间不同步,这些应⽤或操作或将⽆法正常进⾏。
⽹络时间同步协议(NTP)是时间同步的技术基础。
多主机协作⼯作时,各个主机时间同步很重要,时间不⼀致会造成很多重要应⽤的故障,如:加密协议,⽇志,集群等, 利⽤NTP(Network Time Protocol) 协议使⽹络中的各个计算机时间达到同步。
Linux默认情况下,系统时间和硬件时间,并不会⾃动同步。
在Linux运⾏过程中,系统时间和硬件时间以异步的⽅式运⾏,互不⼲扰。
硬件时间的运⾏,是靠Bios电池来维持,⽽系统时间,是⽤CPU tick来维持的。
在系统开机的时候,会⾃动从Bios中取得硬件时间,设置为系统时间。
Linux系统下,⼀般使⽤ntp服务器 来同步不同机器的时间。
⼀台机器,可以同时是ntp服务器和ntp客户机。
在⽹络中,推荐使⽤像DNS服务器⼀样分层的时间服务器来同步时间。
时间同步实现:ntpdate,ntp,chrony公共NTP服务器地址及IP:项⽬是⼀个提供可靠易⽤的NTP服务的虚拟集群,阿⾥云公共NTP服务器Unix/linux类:,windows类: 中国时间:210.72.145.44 (国家授时中⼼服务器IP地址)133.100.11.8 ⽇本福冈⼤学 129.6.15.28 NIST, Gaithersburg, Maryland 129.6.15.29 NIST, Gaithersburg, Maryland 132.163.4.101 NIST, Boulder, Colorado 132.163.4.102 NIST, Boulder, Colorado 132.163.4.103 NIST, Boulder, Colorado 128.138.140.44 University of Colorado, Boulder 192.43.244.18 NCAR, Boulder, Colorado 131.107.1.10 Microsoft, Redmond, Washington 69.25.96.13 Symmetricom, San Jose, California 216.200.93.8 Abovenet, Virginia 208.184.49.9 Abovenet, New York City 207.126.98.204 Abovenet, San Jose, California 207.200.81.113 TrueTime, AOL facility, Sunnyvale, California 64.236.96.53 TrueTime, AOL facility, Virginia———————————————————————————————————— 202.120.2.101 (上海交通⼤学⽹络中⼼NTP服务器地址) 北京邮电⼤学 清华⼤学 北京⼤学 东南⼤学 清华⼤学 清华⼤学 清华⼤学 北京邮电⼤学 西南地区⽹络中⼼ 西北地区⽹络中⼼ 东北地区⽹络中⼼ 华东南地区⽹络中⼼ 四川⼤学⽹络管理中⼼ ⼤连理⼯⼤学⽹络中⼼ CERNET桂林主节点 北京⼤学系统时间相关⽂件`/usr/share/zoneinfo/:在这个⽬录下的⽂件其实是规定了各主要时区的时间设定⽂件,例如北京地区的时区设定⽂件在 /usr/share/zoneinfo/Asia/Beijing 就是了。
Linux时区设置及NTP时间同步一、背景机器装的是busybox,使用的是最小集合的linux。
硬件时钟是本地时间,而内核时钟是UTC时间,没有设置时区,也没有任何时区设置的选项。
二、需求这台机器需要定时进行NTP时间同步。
同步之后显示给用户的是本地时间。
三、过程1.时区的支持(1)hwclock为了查看硬件时钟是否为本地时间,运行命令hwclock –r。
结果系统提示:“Could not open RTC: No such file or directory”,即找不到RTC文件。
(2)/dev/rtc由于内核在编译过程中没有提供RTC支持,需要重新编译内核(或为内核增加一个module)。
方法为,在make menuconfig阶段,选中“Character device”的“Enhanced Real Time Clock Support”一项的支持。
为内核增加了该模块后,目录/proc/drive/下已出现了rtc文件,cat也能查看到正常的内容。
但/dev/目录下仍没有rtc文件。
于是通过mknod命令在/dev目录下增加rtc文件。
通过man rtc 可以得知,RTC为只读字符设备,主10,从135。
因此命令为“mknod /dev/rtc c 10 135”。
命令执行完毕后,/dev下成功生成了rtc文件。
运行hwclock –r,能够看到硬件时间为本地时间。
通过date命令查看系统时间,却为UTC时间。
这说明系统没有进行本地时间的设置。
(3)/etc/localtimeLinux的系统时区是通过符号连接/etc/localtime来得到的。
可以通过tzset命令来设置时区。
如果没有该命令,可以通过命令“ln –s /etc/localtime /usr/share/zoneinfo/Asia/Shanghai”来将时区设置为亚洲的上海。
由于最初构建系统的时候没有包含zoneinfo信息,因此/usr/share目录下不存在zoneinfo目录及其文件。
Linux时间及vmware时间同步一、Linux时间Linux 时钟分为系统时钟(System Clock)和硬件(Real Time Clock ,简称RTC )时钟。
系统时钟是指当前Linux Kernel中的时钟,而硬件时钟则是主板上由电池供电的时钟,这个硬件时钟可以在BIOS中进行设置。
当Linux 启动时,系统时钟会去读取硬件时钟的设置,然后系统时钟就会独立于硬件运作。
Linux中的所有命令(包括函数)都采用的是系统时钟设置。
在Linux中,用于时钟查看和设置的命令主要有date、hwclock和clock。
其中,clock和hwclock用法相近,只用一个就行,只不过clock命令除了支持x86硬件体系外,还支持Alpha硬件体系。
1、date查看系统时间# date设置系统时间# date --set “07/07/06 10:19”(月/日/年时:分:秒)2、hwclock/clock查看硬件时间# hwclock --show或者# clock --show设置硬件时间# hwclock --set --date="07/07/06 10:19"或者# clock --set --date="07/07/06 10:19"3、硬件时间和系统时间的同步按照前面的说法,重新启动系统,系统时间会读取硬件时间,实现同步,但是在不重新启动的时候,需要用hwclock或clock 命令实现同步。
硬件时钟与系统时钟同步(将系统时钟变为硬件时钟):# hwclock --hctosys(hc代表硬件时间,sys代表系统时间)或者# clock --hctosys系统时钟和硬件时钟同步(将硬件时钟变为系统时钟):# hwclock --systohc或者# clock --systohc4、时区的设置# tzselect 按照提示一步步设置,最后提示要将相关信息写入$HOME/.bash_profile文件中5、查看时区# vi /etc/sysconfig/clock二、vmware时间同步1、正确安装vmware-tools2、与宿主机同步时间(需以root 用户身份执行以下步骤)1)、#vmware-toolbox显示VMware Tools Properties 窗口。
linux时间同步服务器每台计算机都有自己的硬件时钟,并由主板上的电池保证在关机情况下也能计时。
通常情况下,计算机每次开机会从硬件时钟读取时间,并且使用自己的时钟进行计时,但是在单个时钟之间不可避免的会有计时误差,在长时间使用后,时间误差会积累到比较大的数值。
这在一般应用中不会造成太大的麻烦,但是在某些应用中,比如集群服务、数据库等,则会发生宕机、系统无法启动等严重后果,所以就必须要配置时间服务器为网络提供时间服务,保证整个网络中的时间在所有计算机中都是一致的。
本章我们一起来学习一下时间服务器知识点什么是时间服务器chrony的核心组件及优势相关文件配置文件说明如何配置时间服务器课程目标能够说出centos8当中时间服务器是什么能够知道相关软件的优势能够看懂时间服务器的配置文件能够搭建时间服务器概述什么是时间服务器ntp:network time protocol 网络时间协议,用来同步网络中各主机的时间,在linux系统中早期使用ntp来实现,后来使用chrony 来实现,chrony 应用本身已经有几年了,其实是网络时间协议的 (ntp) 的另一种实现。
chrony可以同时作为ntp服务的客户端和服务端一直以来众多发行版里标配的都是ntpd对时服务,自rhel7/centos7 起,chrony作为了发行版里的标配服务,不过老的ntpd服务依旧在rhel7/centos7里可以找到。
核心组件:chronyd:是守护进程,主要用于调整内核中运行的系统时间和时间服务器同步。
它确定计算机增减时间的比率,并对此进行调整补偿。
chronyc:提供一个用户界面,用于监控性能并进行多样化的配置。
它可以在chronyd实例控制的计算机上工作,也可以在一台不同的远程计算机上工作。
优势chrony用来同步时间,来代替ntp服务,优点是很精巧的时间同步工具,更快响应时钟变化,在应对延时提供更好的稳定性能,不会出现时间空白,跨越互联网同步时间只需要几毫秒。
34、linux时钟同步
需要root执行以下命令:
1、配置时钟同步信息 server 192.168.132.68 表示从192.168.132.68同步时钟
vi /etc/ntp.conf
# For more information about this file, see the man pages
# ntp.conf(5), ntp_acc(5), ntp_auth(5), ntp_clock(5), ntp_misc(5),
ntp_mon(5).
driftfile /var/lib/ntp/drift
# Permit time synchronization with our time source, but do not
# permit the source to query or modify the service on this system. restrict default nomodify notrap nopeer noquery
# Permit all access over the loopback interface. This could
# be tightened as well, but to do so would effect some of
# the administrative functions.
restrict 127.0.0.1
restrict ::1
# Hosts on local network are less restricted.
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
# Use public servers from the project.
# Please consider joining the pool (/join.html). #server iburst
#server iburst
#server iburst
#server iburst
server 192.168.132.68
#broadcast 192.168.1.255 autokey # broadcast server
#broadcastclient # broadcast client
#broadcast 224.0.1.1 autokey # multicast server
#multicastclient 224.0.1.1 # multicast client
#manycastserver 239.255.254.254 # manycast server
#manycastclient 239.255.254.254 autokey # manycast client
# Enable public key cryptography.
#crypto
includefile /etc/ntp/crypto/pw
# Key file containing the keys and key identifiers used when operating # with symmetric key cryptography.
keys /etc/ntp/keys
# Specify the key identifiers which are trusted.
#trustedkey 4 8 42
# Specify the key identifier to use with the ntpdc utility.
#requestkey 8
# Specify the key identifier to use with the ntpq utility.
#controlkey 8
# Enable writing of statistics records.
#statistics clockstats cryptostats loopstats peerstats
# Disable the monitoring facility to prevent amplification attacks using ntpdc # monlist command when default restrict does not include the noquery flag. See
# CVE-2013-5211 for more details.
# Note: Monitoring will not be disabled with the limited restriction flag. disable monitor
2、查看是否安装了时钟同步服务,若未安装,则执行命令安装服务。
如果安装失败,需要下载对应版本rpm包手工安装
yum install -y ntp
3、启动时钟同步服务
service ntpd start
4、查看同步服务
service ntpd status。