zoukankan      html  css  js  c++  java
  • Linux

    1. 概述

    1. 最近也不知道写啥了, 把之前的老文档整理一下, 凑个数什么的
    2. 配置时间这种工作, 偶尔还是要用一下
    3. 主要描述 3 个命令的简单适用
      1. ntpdate
      2. hwlock

    2. ntpdate

    1. 概述

    1. 用于同步时钟的命令

    2. 机制

    1. 通常是有一个服务器对外提供时间
    2. 客户端可以与时间服务器同步
    3. ntp 是他们之间交互的协议

    3. 命令

    1. ntpdate
      1. 概述

        1. 从服务端获取时间
      2. 命令

        # 成功后, 会把 系统时间, 设置为 ntpdate 获取的时间
        > ntpdate <ntpserver>
        # 无脑上这个, 基本不会错
        > ntpdate pool.ntp.org
        

    3. date

    1. 设置系统时间
      1. 命令

        1. date
      2. 功能

        1. 显示时间

          # 普通显示
          > date 
          > date +%c
          # 格式化显示
          # 具体的格式,可以在help中查看
          > date +<format>
          
        2. 设置时间

          # 设置时间
          > date -s "11:11:11"
          # 设置日期
          > date -s "2017-11-11"
          # 设置时间日期
          > date -s "2017-11-11 11:11:11"
          

    4. hwclock

    1. linux时钟

    1. 硬件时钟

      1. 记录在主板上
      2. bios使用
    2. 系统时钟

      1. linux内核的时钟
      2. 操作系统以及各个软件,通常使用的就是这个时钟
    3. 两个时钟的关系

      1. 启动时,系统时钟是从硬件时钟来的
      2. 启动过后,就各玩各的了

    2. 相关命令

    1. 设置硬件时间
      1. 命令

        1. hwclock
      2. 功能

        1. 查看硬件时间

          > hwclock 
          > hwclock -r 
          > hwclock --show
          
        2. 直接设置硬件时间

          1. 有命令,但是不常用
          2. 通常是先设置系统时间,再写入硬件时间
        3. 将硬件时间设置为系统时间

          > hwclock -s
          > hwclock --hctosys
          
        4. 将系统时间设置为硬件时间

          > hwclock -w
          > hwclock --systohc
          

    5. 设置时区

    1. 概述
      1. 时区概念就不说了
      2. centos7的时区工具
    2. timedatectl
      1. 概述

        1. 时间工具
        2. 我们用它来设置时区
      2. 命令

        # 查看时间信息
        > timedatectl
        # 查看系统内支持时区
        > timedatectl list-timezones
        # 设置时区为上海
        > timedatectl set-timezone Asia/Shanghai
        # 将硬件时钟调整为与本地时钟一致, 0 为设置为 UTC 时间
        > timedatectl set-local-rtc 1 
        
    3. 问题: 在 windows 下的 centos 虚拟机中, 时间会比真实的时间, 要快 8 个小时
      1. 场景

        1. 宿主机
          1. win10
        2. 虚拟化软件
          1. virtualbox
        3. 虚拟机
          1. centos7
        4. 虚拟机时区设置
          1. Asia/shanghai
      2. 问题

        1. centos 会把 bios 的时间, 当作是 utc, 也就是 +0 的时区
        2. 我们如果把时区设置为 Asia/shanghai, 也就是 +8, 则会把 bios 时间再加一次8
        3. 但是 windows 系统下的 bios 时间, 已经是 +8 区的时间了
        4. 所以 centos 里的时间, 就出现了偏差
      3. 解决

        1. 方案1
          1. 定时使用 ntpdate 命令, 从时间服务器里, 同步时间
        2. 方案2
          1. 直接使用 utc 时区, 来代替 会有偏差的 Aisa/shanghai

          2. 命令

            # 设置时区为 UTC
            > timedatectl set-timezone UTC
            # 将系统时间, 写入虚拟硬件
            > hwclock -w
            
        3. 方案3
          1. 修改 virtualbox 配置, 使其可以正确区别 utc 和 cts 时间

    ps

    1. pool.ntp.org

      1. 这个 url 后面, 其实是个 地址池
      2. 我们其实可以指定自己的服务器
        1. 这个在 内网环境, 特别有用
    2. 同步的频率

      1. 可以通过人为控制
      2. 也可以通过 cron 组件, 来进行定时操作
    3. ntp 服务器

      1. 这个东西, 其实不难搭建
        1. 有兴趣的话, 可以自己搭建一个 ntp 服务器
    4. timedatectl

      1. 这个东西, 还是有点迷茫
      2. 有空还是要 了解一下
    尽量尝试解释清楚; 自己校对能力有限, 如果有错误欢迎指出
  • 相关阅读:
    新书《JFinal极速开发实战》正式发布
    Maven转化为Dynamic Web Module
    SpringMVC——数据校验
    SpringMVC——请求映射
    Spring——Bean的命名及实例化
    js实现省市区三级联动
    MySQL数据库忘记密码
    Spring——控制反转
    SpringMVC(五)@RequestHeader和@CookieValue
    SpringMVC(四)@RequestParam
  • 原文地址:https://www.cnblogs.com/xy14/p/10731518.html
Copyright © 2011-2022 走看看