博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux时间同步
阅读量:6713 次
发布时间:2019-06-25

本文共 1610 字,大约阅读时间需要 5 分钟。

Linux时间同步

 

在Linux下,系统时间和硬件时间都以异步的方式运行,互不干扰。硬件时间的运行是靠Bios电池来维持,而系统时间是用CPU tick来维持的。在系统开机的时候,会自动从BIOS中取得硬件时间,设置为系统时间。

 

硬件时间的设置,可以用hwclock或者clock命令。其中,clock和hwclock用法相近,只用一个就 行,只不过clock命令除了支持x86硬件体系外,还支持Alpha硬件体系

hwclock                    # 查看硬件时间
hwclock –set –date=”6/28/18 30:00″     # 设置硬件时间

 

系统时间和硬件时间之间可以相互同步:

# 修改硬件时间,以系统时间为准hwclock –systohchwclock -w# 修改系统时间,以硬件时间为准hwclock –hctosys hwclock -s

 

 

为了避免服务器因长期运行而导致的时间偏差,进行时间同步(synchronize)的工作是非常必要的。Linux使用ntpdate命令或ntp服务器来同步不同机器的时间。

ntpd在实际同步时间时是一点点的校准过来时间的,最终把时间慢慢的校正对;而ntpdate不会考虑其他程序是否会阵痛,直接调整时间.一个是校准,一个是调整。

另外ntpd 在和时间服务器的同步过程中,会把 BIOS 计时器的振荡频率偏差——或者说 Local Clock 的自然漂移(drift)——记录下来。这样即使网络有问题,本机仍然能维持一个相当精确的走时。使用ntpd还需要考虑到一个细节是,如果client与server时差异常大或过小,ntpd将会拒绝server参考时间。

 

ntpdate命令

ntpdate 192.168.0.2ntpdate time.ntp.org

 使用ntpdate有一个跳跃的缺陷,我们知道许多应用程序依赖连续的时钟,取得的时间是线性的。例如数据库事务,通常会地依赖这样的事实:时间不会往回跳跃。可以想象一下,假如Oracle服务器的时间是01:00 AM,标准时间是00:30 AM,很明显Oracle服务器经过他自己的时间00:40 AM。假若此时直接使用ntpdate将服务器与标准时间同步,那么意味着Oracle服务器将在同一天经过两个00:40 AM,这对于某些计划任务来说可能是致命的。

 

 

ntpd服务

相关配置文件:

  • /etc/ntp.conf:这个是NTP daemon的主配置文件,也是 NTP 唯一的设定文件;
  • /usr/share/zoneinfo/:在这个目录下的文件其实是规定了各主要时区的时间设定文件,例如北京地区的时区设定文件在 /usr/share/zoneinfo/Asia/Beijing 就是了。这个目录里面的文件与底下要谈的两个文件(clock 与localtime)是有关系的;
  • /etc/sysconfig/clock:这个文件其实也不包含在NTP 的 daemon 当中,因为这个是 linux 的主要时区设定文件。每次开机后,Linux 会自动的读取这个文件来设定自己系统所默认要显示的时间;
  • /etc/localtime:这个文件就是“本地端的时间配置文件”。刚刚那个clock 文件里面规定了使用的时间设置文件(ZONE) 为 /usr/share/zoneinfo/Asia/Beijing ,所以说,这就是本地端的时间了,此时, Linux系统就会将Beijing那个文件另存为一份 /etc/localtime文件,所以未来我们的时间显示就会以Beijing那个时间设定文件为准;
  • /etc/timezone:系统时区文件;

 

在启动NTP服务前,可以先手动的校正一次时间:

ntpdate cn.pool.ntp.org service ntpd start

 

转载地址:http://iohlo.baihongyu.com/

你可能感兴趣的文章
负载均衡设备选型计算参考
查看>>
随笔-文件的读写
查看>>
tcp 状态以及三次握手
查看>>
Linux 打开文件数1024限制的原理以及解决办法
查看>>
我的友情链接
查看>>
Install IIS from Windows Server 2008 R2
查看>>
Lync Server 2010迁移至Lync Server 2013部署系列 Part7:配置Office Web App 02
查看>>
我的友情链接
查看>>
WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCK!的分析
查看>>
nginx禁止ip直接访问
查看>>
hadoop常用服务管理命令
查看>>
10.28 rsync工具10.29-10.30 rsync选项10.31 rsync通过ssh同步
查看>>
Fault,Error and Failure
查看>>
Go语言的通道(1)-无缓冲通道
查看>>
spring oauth从请求中获取token
查看>>
6.18docker(一)Compose 模板文件
查看>>
每天学点GDB 9
查看>>
前端静态资源缓存控制策略浅析
查看>>
不同模式打开文件的完全列表
查看>>
Jackson将json字符串转换成泛型List
查看>>