CENTOS上的时间/时区设定
系统时间的显示会和实际出现不同步,这里面经常会碰到的问题主要有时区设定/系统时钟/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校时的服务器,比如:
- server 0.cn.pool.ntp.org
- server 1.cn.pool.ntp.org
- server 2.cn.pool.ntp.org
- 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上的时间/时区设定相关推荐
- CentOS 6.9时间与时间服务器相差1小时(时区问题,经过查看时区是蒙古时区,蒙古时区与亚洲上海时区相差1小时)
项目上服务器与时间服务器同步时间后,总是比实际时间快一个小时 clock 英[klɒk] 美[klɑːk] n. 时钟; 钟; v. 达到(某时间或速度); 测-的速度; 注意到; 认出; 首先查看时 ...
- centos 系统下查看时间时区以及修改
centos 系统下查看时间时区以及修改 一.centos 6 1.1查看系统时间 date 1.2将系统日期修改为2014-7-2 : date -s 月/日/年 1.3系统时间设置为 上午10:2 ...
- centos 上 crontab 计划任务 ,这个版本解释的比较清晰
这个版本的crontab命令解释的很详细 yum install vixie-cronyum install crontabs/bin/systemctl restart crond.service ...
- linux上点时间延时,Linux上时间和定时器
Linux下时间和定时器 http://blog.chinaunix.net/u1/35065/showart_1870601.html重点读了第三种方法.文章写得很好,加了一点点注释可参考http: ...
- linux时间时区和GPS/BD授时
作者 QQ群:852283276 微信:arm80x86 微信公众号:青儿创客基地 B站:主页 https://space.bilibili.com/208826118 参考 Linux下时间/时区的 ...
- CentOS 7的时间设置
Linux下使用timedatectl命令时间时区操作详解 timedatectl命令对于RHEL / CentOS 7和基于Fedora 21+的分布式系统来说,是一个新工具,它作为systemd系 ...
- CentOS 7 设置时间和日期
CentOS 7 有两种类型的时间: 实时时间(Real-Time Clock,RTC),通常称为硬件时间,完全独立于操作系统运行,一般是由主板上的COMS负责维护,因此在操作系统关闭后也能运行. 系 ...
- [时区设定]功能漏洞或致 IPHONE 4S 电池续航减弱
iPhone 4S 刷新了苹果产品热卖纪录,但很多用户抱怨iPhone 4S 的电池续航能力太弱,所以它可能同时也创下 iPhone 电池消耗最快的纪录. 根据苹果本月初给出的资料,iPhone 4S ...
- Our4.org:[时区设定]功能漏洞或致 IPHONE 4S 电池续航减弱
iPhone 4S 刷新了苹果产品热卖纪录,但很多用户抱怨iPhone 4S 的电池续航能力太弱,所以它可能同时也创下 iPhone 电池消耗最快的纪录. 根据苹果本月初给出的资料,iPhone 4S ...
最新文章
- LeetCode 笔记系列 18 Maximal Rectangle [学以致用](最大矩形)
- Android内存分析和调优
- mybaits trim用法
- DNS中的七大资源记录介绍
- Qt 第二步 熟悉文件结构组成(二)
- [urllib]urlretrieve在python3
- ruby array_Ruby中带有示例的Array.delete_if方法
- 微信小程序导出excel之exceljs
- 你的Parquet该升级了:IOException: totalValueCount == 0问题定位之旅
- 分享:一篇webpack配置基础绝好文章
- 17. Django进阶:缓存
- 用 intellij idea 创建一个Java web项目
- hadoop启动_hadoop服务快速部署
- Win10安装CUDA10和cuDNN
- elementUI中日期时间插件(DateTimePicke) 限制结束时间大于开始时间且开始时间小于当前时间
- DirectX11 With Windows SDK--21 鼠标拾取
- 如何清除redis缓存
- 测绘工程实验指导书 (GIS 部分)
- STRAIGHT分析合成算法
- OSI七层模型和STP/IP协议模型(生动形象,简单易懂)
热门文章
- 如何查看服务器证书过期时间,如何看ssl证书过期
- Nginx之一:Nginx的编译安装
- tapestry mysql_tapestry与mybatis模块的结合
- 服务器经常被攻击怎么办?这7个重要因素要做好!
- Android之提示Could not find com.android.support:appcompat-v7:25.3.1
- Ubuntu和win10系统(N卡)
- 学会感恩,学会分享,开始总结自己的职场经验
- 好玩的猜数游戏(不是二分查找!四位数)
- python3计算常数e的代码
- 逆波兰算法(后缀表达式)