zoukankan      html  css  js  c++  java
  • CentOS7--配置时间和日期

     

       CentOS7提供三个命令行工具,可用于配置和显示有关系统日期和时间的信息。

    1. timedatectl:Linux 7中的新增功能,也是systemd其中的一部分。
    2. date:系统时钟,也成为软件时钟,一旦系统启动并且系统时钟被初始化,系统时钟就完全独立硬件时钟。
    3. hwclock:  real-time clock (RTC)通常被称为硬件时钟,(在系统集成电路板上),即使在机器关闭时也能正常工作。实时时钟可以使用UTC( Universal Time)或本地时间,建议使用UTC。

    使用timedatectl命令

    显示当前日期和时间: 
    1
    timedatectl
    1
    2
    3
    4
    5
    6
    7
    8
    9
    [root@zydev ~]# timedatectl
          Local time: Mon 2017-11-06 01:22:46 CST   #中部标准时间,UTC+8
      Universal time: Sun 2017-11-05 17:22:46 UTC
            RTC time: Sun 2017-11-05 17:22:46
           Time zone: Asia/Shanghai (CST, +0800) 
         NTP enabled: no
    NTP synchronized: no
     RTC in local TZ: no
          DST active: n/a

     改变ntpd和chrony状态不会立即生效,需要执行:

    1
    systemctl restart systemd-timedated.service
    改变当前时间

      该命令同时更新系统时间和硬件时钟。其结果类似于使用date --sethwclock --systohc命令。如果NTP启用服务,该命令将失败。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    [root@zydev ~]# timedatectl set-time 23:06:45
    [root@zydev ~]# timedatectl
          Local time: Mon 2017-11-06 23:06:51 CST
      Universal time: Mon 2017-11-06 15:06:51 UTC
            RTC time: Mon 2017-11-06 15:06:51
           Time zone: Asia/Shanghai (CST, +0800)
         NTP enabled: no
    NTP synchronized: no
     RTC in local TZ: no
          DST active: n/a

      默认情况下,系统配置硬件时钟使用UTC,如果要配置为当地时间,加上参数set-local-rtc 

    1
    timedatectl set-local-rtc boolean

      更换布尔为yes或者no,默认是no

    更改当前日期

    1
    timedatectl set-time YYYY-MM-DD

      请注意,更改日期而不指定当前时间会导致将时间设置为00:00:00。

    要将当前日期更改为2017年6月2日并保持当前时间(下午11:26)

    1
    timedatectl set-time ”2017-06-02 23:26:00”
    更改时区

    列出时区

    1
    timedatectl list-timezones|grep Asia

     更改时区为香港

    1
    timedatectl set-timezone Asia/Hong_Kong
    使系统时钟与远程服务器同步

    timedatectl命令还允许您使用该NTP协议启用系统时钟与一组远程服务器的自动同步。启用NTP将启用chronydntpd服务,具体取决于它们中的哪一个被安装。

    1
    timedatectl set-ntp boolean

      启用同步

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    [root@zydev ~]# timedatectl set-timezone Asia/Hong_Kong
    [root@zydev ~]# timedatectl
          Local time: Mon 2017-11-06 23:22:07 HKT
      Universal time: Mon 2017-11-06 15:22:07 UTC
            RTC time: Mon 2017-11-06 15:22:07
           Time zone: Asia/Hong_Kong (HKT, +0800)
         NTP enabled: no
    NTP synchronized: no
     RTC in local TZ: no
          DST active: n/a
    [root@zydev ~]# timedatectl set-ntp yes
    [root@zydev ~]# timedatectl
          Local time: Mon 2017-11-06 23:24:14 HKT
      Universal time: Mon 2017-11-06 15:24:14 UTC
            RTC time: Mon 2017-11-06 15:24:14
           Time zone: Asia/Hong_Kong (HKT, +0800)
         NTP enabled: yes
    NTP synchronized: no
     RTC in local TZ: no
          DST active: n/a

    使用date命令

    缺省情况下,date显示本地时间。要显示在UTC的时间,运行与所述命令--utc-u命令

    1
    2
    3
    4
    [root@zydev ~]# date
    Mon Nov  6 23:34:09 HKT 2017
    [root@zydev ~]# date -u
    Mon Nov  6 15:34:13 UTC 2017

    可以通过在命令行上提供选项来自定义显示信息的格式: +"format"

    控制序列描述
    %H HH格式的小时(例如17)。
    %M MM格式的分钟(例如30)。
    %S 第二个是SS格式(例如24)。
    %d DD格式的月份中的某一天(例如,16)。
    %m MM格式的月份(例如09)。
    %Y YYYY格式的年份(例如2016)。
    %Z 时区缩写(例如,CEST)。
    %F YYYY-MM-DD格式的完整日期(例如2016-09-16)。这个选项等于%Y-%m-%d
    %T 全时以HH:MM:SS格式(例如,17 :30: 24)。这个选项等于%H:%M:%S
     改变当前时间

    更改时间

    1
    date -s 23:43:45

    同时更改时间和日期

    要将当前日期更改为2017年6月2日并保持当前时间(下午11:26)

    1
    date -s "2017-06-02 23:26:00"

    更改日期而不指定当前时间会导致将时间设置为00:00:00

    使用hwclock

    显示硬件时钟当前时间

    1
    2
    [root@app-01 ~]# hwclock
    Tue 07 Nov 2017 11:42:15 AM CST  -0.269798 seconds

    将硬件时钟设置为特定日期和时间,并将硬件时钟保持为UTC

    1
    hwclock --set --date "21 Oct 2016 21:17" --utc

     硬件时钟与系统时间同步,并设置为UTC时间

    1
    hwclock --systohc --utc

     硬件时钟与系统时间同步,并设置为本地时间

     
    1
    hwclock --systohc --localtime
    解决:Automatic time synchronization is enabled
    
    timedatectl set-time 2018-11-13
    Failed to set time: Automatic time synchronization is enabled
    
    关闭同步
    timedatectl set-ntp no
    [root@ match]# timedatectl set-time 2018-11-13
    
    
    date
    Tue Nov 13 00:00:26 UTC 2018
    
     
    
    开启同步
    
    timedatectl set-ntp yes
  • 相关阅读:
    java命令模式
    java中介者模式
    java访问者模式
    java状态模式
    java责任链模式
    java策略模式(及与工厂模式的区别)
    github token 位置
    Yii2 Queue队列
    sz与rz
    vim
  • 原文地址:https://www.cnblogs.com/xuefy/p/11641405.html
Copyright © 2011-2022 走看看