• 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

            

  • 相关阅读:
    Eureka源码分析
    从零搭建一个SpringCloud项目之Sleuth+Zipkin(六)
    从零搭建一个SpringCloud项目之Config(五)
    spring-boot-lll-starter自动化框架介绍
    大数据量分批执行封装
    itext7史上最全实战总结
    springboot-lll-starter限流说明
    研究javax.validation.constraints.NotNull运行原理
    Nacos入门
    错误日志告警实战
  • 原文地址:https://www.cnblogs.com/the-study-of-linux/p/5428827.html
Copyright © 2020-2023  润新知