系统时间的显示会和实际出现不同步,这里面经常会碰到的问题主要有时区设定/系统时钟/RTC/NTP,这篇文章将相关问题简单整理一下。

概念说明

几个常见的概念,进行总结如下:

项目 说明
时区 因时区不同显示的时间不同,牵扯到夏令时和调整等问题,date命令可查看
系统时钟:System Clock linux OS的时间,date命令可查看
硬件时钟:RTC:Real Time Clock 主板上由电池供电的BIOS时间,hwclock -r可查看
NTP: Network Time Protocol 本机时间和实际的时间之间的经常会有差别,一般使用NTP服务器进行时间校准

SC和RTC

系统时间和硬件时间查看

[root@devops ~]# hwclock -r ; date;
Sat 03 Feb 2018 09:18:26 AM EST  -0.692300 seconds
Sat Feb  3 09:19:19 EST 2018
[root@devops ~]#

从这里可以看出,系统时间和硬件时间已经由几十秒的不同步了

同步系统时间和硬件时间

使用hctosys选项可将硬件时间设定到系统时间上,反向操作使用systohc即可,以下是硬件时间->系统时间调整的例子:

[root@devops ~]# hwclock -r ; date; hwclock --hctosys; hwclock -r; date;
Sat 03 Feb 2018 09:29:38 AM EST  -0.921131 seconds
Sat Feb  3 09:30:27 EST 2018
Sat 03 Feb 2018 09:29:40 AM EST  -1.080703 seconds
Sat Feb  3 09:29:40 EST 2018
[root@devops ~]# 

但是时间还是会经常性发生gap,以某个时间为主的话建议在使用之前确认或者同步一下更为准确。

NTP服务

NTP服务器

有很多可以用于NTP校时的服务器,比如:

  1. server 0.cn.pool.ntp.org
  2. server 1.cn.pool.ntp.org
  3. server 2.cn.pool.ntp.org
  4. server 3.cn.pool.ntp.org

安装ntp和ntpdate

我们可以设定自己的ntpd服务用于校时,也可以用ntpdate命令随时确认和调整,在此之前需要先行安装相关的package

[root@devops ~]# yum install -y ntp ntpdate

调整偏移时间

使用ntpdate可以进行调整,如果向本例中的情形,时间会出现很大的跳跃,往往会给应用带来很多影响,一般实时性较高的应用都需要搭建内部的ntp服务器,由一台作为核准的服务器,其余与之关联,而且调整的节奏要注意性能和频度,同时最好结合硬件时钟进行同步。

[root@devops ~]# date; ntpdate 0.cn.pool.ntp.org
Sat Feb  3 09:50:49 EST 20183 Feb 18:30:16 ntpdate[25285]: step time server 173.255.246.13 offset 31151.519278 sec
[root@devops ~]# date
Sat Feb  3 18:30:18 EST 2018
[root@devops ~]#

时区

date命令所显示的EST为美国六大时区中的一个,Eastern Standard Time 东部时区,比如纽约和华盛顿,与北京时间相差13个小时,我们比他们早13个小时,当他们昨天还没有过完的时候,我们已经开始了新的一天。

设定文件

/usr /share/zoneinfo/

在这个目录下放置的是各主要时区的时间设定文件

[root@devops ~]# ls /usr/share/zoneinfo/
Africa      Atlantic   Chile    Eire     GB       GMT+0      Indian       Japan      MST      Pacific     PRC      Singapore  UTC           Zulu
America     Australia  CST6CDT  EST      GB-Eire  Greenwich  Iran         Kwajalein  MST7MDT  Poland      PST8PDT  Turkey     WET
Antarctica  Brazil     Cuba     EST5EDT  GMT      Hongkong   iso3166.tab  Libya      Navajo   Portugal    right    UCT        W-SU
Arctic      Canada     EET      Etc      GMT0     HST        Israel       MET        NZ       posix       ROC      Universal  zone1970.tab
Asia        CET        Egypt    Europe   GMT-0    Iceland    Jamaica      Mexico     NZ-CHAT  posixrules  ROK      US         zone.tab
[root@devops ~]# 

比如常用的Asia/Shanghai

[root@devops ~]# file /usr/share/zoneinfo/Asia/Shanghai
/usr/share/zoneinfo/Asia/Shanghai: timezone data, version 2, 2 gmt time flags, 2 std time flags, no leap seconds, 16 transition times, 2 abbreviation chars
[root@devops ~]#
[root@devops ~]# more /usr/share/zoneinfo/Asia/Shanghai
TZif2--More--(80%)
CST-8
[root@devops ~]#

/etc /localtime

本地时间配置文件, 此文件一般为/etc/share/zoneinfo下面的文件的软链接,比如当前EST时间,可以清晰地看出其实际是链接到纽约的时间

[root@devops ~]# ll /etc/localtime
lrwxrwxrwx. 1 root root 38 Jan 18 17:02 /etc/localtime -> ../usr/share/zoneinfo/America/New_York
[root@devops ~]#

我们将其改变为Asia/Shanghai

[root@devops ~]# rm /etc/localtime
rm: remove symbolic link ‘/etc/localtime’? y
[root@devops ~]# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
[root@devops ~]# ls -l /etc/localtime
lrwxrwxrwx. 1 root root 33 Feb  4 08:15 /etc/localtime -> /usr/share/zoneinfo/Asia/Shanghai
[root@devops ~]#

而此时,时间已经实时地被调整为CST

[root@devops ~]# date
Sun Feb  4 08:15:46 CST 2018
[root@devops ~]# 

/etc/sysconfig/clock

在每次开机是Linux 会自动的读取此文件来以设定自己系统所默认要显示的时间,设定的内容主要有如下三项:

项目 说明 常用设定值
UTC 指定BIOS中保存的时间是否是GMT/UTC时间 true:UTC时间,false:本地时间
ZONE 指定时区,其值是一个/usr/share/zoneinfo下的时区文件的相对路径名 “Asia/Shanghai”
UTC 硬件时钟是否要和UTC一致 false
ARC 特殊硬件设定 一般设定为false,一些特殊的硬件会设定为true
SRM 特殊硬件设定 一般设定为false,一些特殊的硬件会设定为true

没有此文件,直接vi编辑一个即可

[root@devops ~]# vi /etc/sysconfig/clock
[root@devops ~]#
[root@devops ~]# cat /etc/sysconfig/clock
ZONE="Asia/Shanghai"
UTC=false
ARC=false
SRM=false
[root@devops ~]#

时间如果发生错乱,可以使用hwclock的systohc进行调整

[root@devops ~]# date;
Sun Feb  4 08:18:43 CST 2018
[root@devops ~]#
[root@devops ~]# hwclock -r
Sat 03 Feb 2018 11:38:11 PM CST  -0.308882 seconds
[root@devops ~]# hwclock --systohc
[root@devops ~]# hwclock -r
Sun 04 Feb 2018 08:19:08 AM CST  -0.955669 seconds
[root@devops ~]#

CENTOS上的时间/时区设定相关推荐

  1. CentOS 6.9时间与时间服务器相差1小时(时区问题,经过查看时区是蒙古时区,蒙古时区与亚洲上海时区相差1小时)

    项目上服务器与时间服务器同步时间后,总是比实际时间快一个小时 clock 英[klɒk] 美[klɑːk] n. 时钟; 钟; v. 达到(某时间或速度); 测-的速度; 注意到; 认出; 首先查看时 ...

  2. centos 系统下查看时间时区以及修改

    centos 系统下查看时间时区以及修改 一.centos 6 1.1查看系统时间 date 1.2将系统日期修改为2014-7-2 : date -s 月/日/年 1.3系统时间设置为 上午10:2 ...

  3. centos 上 crontab 计划任务 ,这个版本解释的比较清晰

    这个版本的crontab命令解释的很详细 yum install vixie-cronyum install crontabs/bin/systemctl restart crond.service ...

  4. linux上点时间延时,Linux上时间和定时器

    Linux下时间和定时器 http://blog.chinaunix.net/u1/35065/showart_1870601.html重点读了第三种方法.文章写得很好,加了一点点注释可参考http: ...

  5. linux时间时区和GPS/BD授时

    作者 QQ群:852283276 微信:arm80x86 微信公众号:青儿创客基地 B站:主页 https://space.bilibili.com/208826118 参考 Linux下时间/时区的 ...

  6. CentOS 7的时间设置

    Linux下使用timedatectl命令时间时区操作详解 timedatectl命令对于RHEL / CentOS 7和基于Fedora 21+的分布式系统来说,是一个新工具,它作为systemd系 ...

  7. CentOS 7 设置时间和日期

    CentOS 7 有两种类型的时间: 实时时间(Real-Time Clock,RTC),通常称为硬件时间,完全独立于操作系统运行,一般是由主板上的COMS负责维护,因此在操作系统关闭后也能运行. 系 ...

  8. [时区设定]功能漏洞或致 IPHONE 4S 电池续航减弱

    iPhone 4S 刷新了苹果产品热卖纪录,但很多用户抱怨iPhone 4S 的电池续航能力太弱,所以它可能同时也创下 iPhone 电池消耗最快的纪录. 根据苹果本月初给出的资料,iPhone 4S ...

  9. Our4.org:[时区设定]功能漏洞或致 IPHONE 4S 电池续航减弱

    iPhone 4S 刷新了苹果产品热卖纪录,但很多用户抱怨iPhone 4S 的电池续航能力太弱,所以它可能同时也创下 iPhone 电池消耗最快的纪录. 根据苹果本月初给出的资料,iPhone 4S ...

最新文章

  1. LeetCode 笔记系列 18 Maximal Rectangle [学以致用](最大矩形)
  2. Android内存分析和调优
  3. mybaits trim用法
  4. DNS中的七大资源记录介绍
  5. Qt 第二步 熟悉文件结构组成(二)
  6. [urllib]urlretrieve在python3
  7. ruby array_Ruby中带有示例的Array.delete_if方法
  8. 微信小程序导出excel之exceljs
  9. 你的Parquet该升级了:IOException: totalValueCount == 0问题定位之旅
  10. 分享:一篇webpack配置基础绝好文章
  11. 17. Django进阶:缓存
  12. 用 intellij idea 创建一个Java web项目
  13. hadoop启动_hadoop服务快速部署
  14. Win10安装CUDA10和cuDNN
  15. elementUI中日期时间插件(DateTimePicke) 限制结束时间大于开始时间且开始时间小于当前时间
  16. DirectX11 With Windows SDK--21 鼠标拾取
  17. 如何清除redis缓存
  18. 测绘工程实验指导书 (GIS 部分)
  19. STRAIGHT分析合成算法
  20. OSI七层模型和STP/IP协议模型(生动形象,简单易懂)

热门文章

  1. 如何查看服务器证书过期时间,如何看ssl证书过期
  2. Nginx之一:Nginx的编译安装
  3. tapestry mysql_tapestry与mybatis模块的结合
  4. 服务器经常被攻击怎么办?这7个重要因素要做好!
  5. Android之提示Could not find com.android.support:appcompat-v7:25.3.1
  6. Ubuntu和win10系统(N卡)
  7. 学会感恩,学会分享,开始总结自己的职场经验
  8. 好玩的猜数游戏(不是二分查找!四位数)
  9. python3计算常数e的代码
  10. 逆波兰算法(后缀表达式)