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

    一、首先要弄清几个概念:
    1. “系统时间”与“硬件时间”
    系统时间: 一般说来就是我们执行 date 命令看到的时间,linux系统下所有的时间调用(除了直接访问硬件时间的命令)都是使用的这个时间。

    硬件时间: 主板上BIOS中的时间,由主板电池供电来维持运行,系统开机时要读取这个时间,并根据它来设定系统时间(注意:系统启动时根据硬件时间设定系统时间的过程可能存在时区换算,这要视具体的系统及相关设置而定)。

    二、查看系统时间和硬件时间

    1. 系统时间 date
    直接调用 date,得到的是本地时间。如果想得到UTC时间的话,使用 date -u。

    2. 硬件时间 /sbin/hwclock
    直接调用 /sbin/hwclock 显示的时间就是 BIOS 中的时间吗?未必!这要看 /etc/sysconfig/clock 中是否启用了UTC,如果启用了UTC(UTC=true),显示的其实是经过时区换算的时间而不是BIOS中真正的时间,如果加上 --localtime 选项,则得到的总是 BIOS 中实际的时间.

    三、系统启动和关闭时,硬件时间与系统时间之间的同步有两种方式(假设在中国,用CST代表本地时间):

    方式A: 使用UTC(对linux就是 /etc/sysconfig/clock 中 UTC=true)

    开机: BIOS------->UTC(将BIOS中的时间看成是UTC)------(时区变化)----->CST
    关机: CST -------(时区变化)----->UTC-------存储到------>BIOS

    方式B: 不使用UTC(对linux就是 /etc/sysconfig/clock 中 UTC=false)

    开机: BIOS--------------------->CST(将BIOS中的时间看成是CST)
    关机: CST ---------存储到------>BIOS

    四、系统时间和硬件时间的同步

    同步系统时间和硬件时间,可以使用hwclock命令。

    //以系统时间为基准,修改硬件时间

    [root@localhost ~]# hwclock --systohc <== sys(系统时间)to(写到)hc(Hard Clock)

    [root@localhost ~]# hwclock -w

    //以硬件时间为基准,修改系统时间

    [root@localhost ~]# hwclock --hctosys

    [root@localhost ~]# hwclock -s

    ------------------------------------------------------------------------------------

    采用crontab和ntp结合进行时间同步

    */30 * * * * /usr/sbin/ntpdate puppetmaster.com.cn(时间服务器的主机名) >>/root/ntdate.log 2>&1 && /sbin/clock --systohc
  • 相关阅读:
    021.day21 反射 Class类 反射常用操作
    020.day20 线程概述 多线程优缺点 线程的创建 线程常用方法 生命周期 多线程同步
    019.day19 缓冲流 对象流 标准输入输出流
    018.day18 map集合如何实现排序 File类 IO流 字节流 字符流 编码
    017.day17 Map接口 克隆 treeSet集合排重缺陷
    016.day16 HashSet TreeSet 比较器Comparable Comparator
    015.day15
    014.day14
    013.day13
    线程
  • 原文地址:https://www.cnblogs.com/wspblog/p/4790214.html
Copyright © 2011-2022 走看看