CentOS系统中与时间的相关命令详解
时间在任何系统里都是最基本的部分,必不可少。本文介绍CentOS系统中与时间的相关命令。
基本概念
硬件时钟(Hardware Clock)
硬件时钟,也叫实时时钟(RealTimeClock),或者BIOS时钟,或者CMOS时钟。它是位于机器主板上的实际硬件设备,一般靠电池维持运行。所以,即使机器关机,它也会一直保持记录当前时间,一般不是十分精确。
系统时间(System Time)
系统时间指的是操作系统中的时间。它是由系统加电后的硬件定时器驱动,Linux系统根据定时器信号来递增时间计数。这个定时器非常准确,误差很小。
Linux系统启动时,首先从硬件时钟读取当前时间来初始化系统时间计数,之后就会根据定时器中断来递增它,不再依赖于硬件时钟。
时区(time zone)
世界各国日出的时间并不相同,而日出的时刻却都被当地称作6点钟,同一时刻,各国的钟表指针位置并不相同。也就造就了时区的出现。UTC是世界标准时,其他时区都是在此基础上增减。例如我国的北京时间就比世界时早8个小时。
硬件时钟里一般不会记录时区的信息,而往往只是当地时间。系统时间就必须要把时区的概念考虑进去,否则不同时区的计算机进行信息交流的时候,时间不能统一。这对于很多软件系统是致命的,如严重依赖于时间标签的版本管理系统。Linux内核中保存了当前时区的信息,Linux的文件系统就依赖于这个时区信息。
常用命令
1 查看与设置当前BIOS时间
[root@centos192 smstong]# hwclock -r # 读取硬件时钟 2015年06月03日 星期三 12时30分46秒 -0.891230 seconds [root@centos192 smstong]# hwclock --set --date="06/03/2015 16:45:05" # 设置硬件时钟
2 查看与设置当前操作系统时间
[root@centos192 smstong]# date # 查看当前系统时间 2015年 06月 03日 星期三 19:37:55 CST [root@centos192 smstong]# date -s 10:00:00 # 设置系统时间 2015年 06月 03日 星期三 10:00:00 CST
3 硬件时钟与系统时间交互
[root@centos192 smstong]# hwclock --hctosys # 用硬件时钟设置系统时间 [root@centos192 smstong]# hwclock --systohc # 用系统时间设置硬件时钟
4 查看与设置当前系统的时区
[root@centos192 smstong]# date -R # 查看带时区信息的当前系统时间 Wed, 03 Jun 2015 19:45:37 +0800 [root@centos192 smstong]# export TZ='America/Havana' # 设置时区为古巴时间 [root@centos192 smstong]# date -R # 可以看到时区成了-0400 Wed, 03 Jun 2015 07:49:49 -0400
要想永久性的设置时区信息,则可以在 /etc/profile配置文件里增加 export TZ=’America/Havana’。这样机器重启后也会自动设置时区。
注意Linux内核和应用程序使用的时区并不一定相同,虽然应该相同。应用程序首先靠TZ环境变量来确定时区,如果TZ没有设置,则使用内核的设置。内核是根据/etc/sysconfig/clock文件来设置时区的。* (这段是我的猜测,请大侠指正) *
5 通过网络校时 前面我们说过硬件时钟往往不太准确,系统时钟虽然比较准确,但是仍不能满足高精度的时间要求。最好的方式就是通过NTP协议从专门的时间服务器来读取正确的时间,然后校正系统时间和硬件时钟。
[root@centos192 smstong]# ntpdate -u s1a.time.edu.cn # 通过NTP校时修正系统时间 3 Jun 19:56:42 ntpdate[21550]: adjust time server 202.112.10.60 offset 0.000163 sec [root@centos192 smstong]# hwclock -w # 然后根据矫正过的系统时间设置硬件时钟
如果是长时间运行的服务器,则需要把校时命令写成脚本,通过crond自动定时执行之。
相关文章
- 使用Centos,遇到本地时间对不上,直接敲命令:date -s "2017-01-05 10:15:15"是立即生效了,但是重启后,系统时间还是原来的。该如何永久修改系统时间呢?下面小编将为大2017-01-05
- 这篇文章主要介绍了CentOS 7系统中的时间日期设置全攻略,其中重点讲解了timedatectl 命令对一些列时间日期进行设定的用法,该命令十分犀利,需要的朋友可以参考下2016-04-14
- 这篇文章主要简单介绍了CentOS的开机启动过程及设置启动时间的方法,帮助了解包括加载内核等等在内的系统运行步骤,需要的朋友可以参考下2015-11-05
- 这篇文章主要介绍了CentOS系统中设置时间的基本方法总结,包括各种时间同步的设置方法,需要的朋友可以参考下2015-10-24
- 这篇文章主要介绍了设置CentOS系统的时间同步的教程,利用Chrony软件讲本地时间与计时服务器同步,需要的朋友可以参考下2015-06-11
- Windows跟新升级系统很简单,但是Linux系统怎么更新软件补丁呢?下面使用最广泛的的centos系统为例,其他发行版由于命令和界面不同请查阅相关资料,需要的朋友可以参考下2015-04-30
- 这篇文章主要介绍了CentOS7设置日期和时间方法以及基本概念介绍,本文讲解使用CentOS7中的新命令timedatectl设置日期时间方法,需要的朋友可以参考下2015-04-17
- 由于硬件的原因,机器或多或少的根标准时间对不上,一个月的误差几秒到几分钟不等。对于服务器来说时间不准,会有很多麻烦。例如,支付的时候,无法下单,游戏无法登录等。2014-12-17
- 默认情况下系统使用的好像是美国时间而不是中国时间,需要修改系统的时区来改变系统的当前时间,下面看一下修改方法2014-02-24
- 新装的CentOS系统服务器可能设置了错误的,需要调整时区并调整时间,如下是CentOS系统使用NTP来从一个时间服务器同步时间的步骤2014-01-17
最新评论