zoukankan      html  css  js  c++  java
  • Linux系统时间和硬件时间设置

    在linux系统中有两个时间,硬件时钟和系统时间,硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟。系统时钟则是指kernel中的时钟。所有Linux相关指令与函数都是读取系统时钟的设定。因为存在两种不同的时钟,那么它们之间就会存在差异。当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作。

    用date命令对系统时间进行设置后,并不会去修改硬件时钟,所以系统重启后,系统时间还算会去读取硬件时间,这就是为何date设置失效到原因。

    因此,需要在设置系统时间后,将系统时间同步到硬件时钟。

    clock/hwclock:

    显示与设定硬件时钟(query and set the hardware clock (RTC)),两个命令相同。RTC=Real Time Clock,也就是硬件时钟。

    命令参数:

    -r, --show        读取并打印硬件时钟(read hardware clock and print result)
    -s, --hctosys    将硬件时钟同步到系统时钟(set the system time from the hardware clock)
    -w, --systohc    将系统时钟同步到硬件时钟(set the hardware clock to the current system time)

    命令示例:

    date 显示是当前系统时间

    修改系统时间

    Linux系统时间日期手动修改(1)

    查看当前时间         # date

    修改时间命令         # date –s 12:12:00

    修改日期命令         # date –s 01/12/2008

    [root@node1 ~]# hwclock -r
    2016年04月24日 星期日 13时51分01秒  -0.880312 seconds
    [root@node1 ~]# date
    2016年 04月 22日 星期五 21:21:29 CST

    (2)同步系统时间到硬件时钟

     

    root@node2 ~]# date                                      #显示当前的系统时间
    2016年 04月 24日 星期日 23:15:59 CST      
    [root@node2 ~]# hwclock -r                           #显示当前的硬件时间 
    2016年04月24日 星期日 14时05分47秒  -0.845293 seconds
    [root@node2 ~]# hwclock -w                         #将系统时间同步到硬件时钟(系统时间作为硬件时间)
    [root@node2 ~]# hwclock -r                           #再次显示硬件时间
    2016年04月24日 星期日 23时16分42秒  -0.956500 seconds
    [root@node2 ~]# date                                     #再次显示系统时间
    2016年 04月 24日 星期日 23:16:48 CST

     

    (3)将硬件时间作为系统时间

    [root@node1 ~]# hwclock  -r                                                          #显示硬件时间
    2016年04月24日 星期日 14时14分56秒  -0.690487 seconds     
    [root@node1 ~]# date                                                                    #显示系统时间
    2016年 04月 24日 星期日 14:14:59 CST                                     #将硬件时间作为系统时间
    [root@node1 ~]# hwclock -s
    [root@node1 ~]# hwclock -r                                                           #再次显示硬件时间
    da2016年04月24日 星期日 14时15分21秒  -0.785729 seconds
    [root@node1 ~]# date                                     #再次显示系统时间
    2016年 04月 24日 星期日 14:15:22 CST

    (3)将系统时间同步至网络时间

    同步命令

    # ntpdate ntp服务器域名或IP

    例如:# ntpdate 1.cn.pool.ntp.org

    http://www.pool.ntp.org是NTP的官方网站,在这上面我们可以找到离我们国家的NTP Server cn.pool.ntp.org.它有3个服务器地址:

    服务器一:        1.cn.pool.ntp.org
    服务器二:        2.asia.pool.ntp.org
    服务器三:        3.asia.pool.ntp.org

    (直接用域名有时有问题,可以先Ping出他们的IP,然后用IP地址同步)

    自动运行同步时间脚本设定

    # crontab –e

    添加脚本例子如下:

    */20 * * * *       /usr/sbin/ntpdate 210.72.145.44          //每20分钟执行一次 或者下面的

    30 5 * * *          /usr/sbin/ntpdate 210.72.145.44          //每天早晨5点半执行。

    [root@node1 ~]#  ntpdate 1.cn.pool.ntp.org
    24 Apr 23:34:45 ntpdate[11827]: step time server 202.118.1.81 offset 33031.663763 sec
    [root@node1 ~]# date
    2016年 04月 24日 星期日 23:34:49 CST

     

    (4)本地主机可以安装ntp服务,作为一个独立时间同步服务器

    RedHat服务器可以下载rpm安装包,然后执行

    # rpm -ivh ntp-4.2.0.a.20040617-4.x86_64.rpm 或  # yum -y install ntp.x86_64

     

     

    参考博客:

    Linux系统时间和硬件时间设置http://www.linuxidc.com/Linux/2014-09/107029.htm

    Linux下NTP服务器(时间同步及时区相关问题):http://gaoxingf.blog.51cto.com/612518/121959

            

  • 相关阅读:
    计算机内功心法01】一:看完这篇还不懂高并发中的线程与线程池 计算机内功心法02】二:读取文件时,程序经历了什么?
    计算机内功心法03】三:一文彻底理解IO多路复用计算机内功心法04】四:进程切换与线程切换的区别
    计算机内功心法05】五:从小白到高手,你需要理解同步与异步
    计算机内功心法06】六:10张图让你彻底理解回调函数
    计算机内功心法07】七:高并发高性能服务器是如何实现的
    计算机内功心法08】八:函数运行时在内存中是什么样子?
    moviepy音视频开发:音频文件存取类AudioFileClip属性和方法介绍
    区块链学习5:智能合约Smart contract原理及发展历程科普知识
    moviepy音视频开发:音频剪辑基类AudioClip
    moviepy音视频开发:音频剪辑基类AudioClip详解
  • 原文地址:https://www.cnblogs.com/the-study-of-linux/p/5428827.html
Copyright © 2011-2022 走看看