Centos改时间

Centos7:timedatectl命令

Centos7中增加了timedate命令来时间对日期、时间和时区的控制。

[root@node1 ~]# timedatectl --help
timedatectl [OPTIONS...] COMMAND ...
 
Query or change system time and date settings.
 
  -h --help                Show this help message
     --version             Show package version
     --no-pager            Do not pipe output into a pager
     --no-ask-password     Do not prompt for password
  -H --host=[USER@]HOST    Operate on remote host
  -M --machine=CONTAINER   Operate on local container
     --adjust-system-clock Adjust system clock when changing local RTC mode
 
Commands:
  status                   Show current time settings
  set-time TIME            Set system time
  set-timezone ZONE        Set system time zone
  list-timezones           Show known time zones
  set-local-rtc BOOL       Control whether RTC is in local time
  set-ntp BOOL             Control whether NTP is enabled

Centos改时间

 


一、显示日期、时间、时区等相关信息

[root@node1 ~]# timedatectl
      Local time: 日 2016-04-17 00:20:06 CST
  Universal time: 六 2016-04-16 16:20:06 UTC
        RTC time: 六 2016-04-16 16:20:06
       Time zone: Asia/Shanghai (CST, +0800)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a

Centos改时间


二、修改时间

执行如下命令修改时间:

timedatectl set-time HH:MM:SS

备注:同时修改hardware clock和system clock.

例子:

[root@node1 ~]# timedatectl set-time 09:57:30
[root@node1 ~]# date
2016年 04月 17日 星期日 09:57:32 CST

三、修改日期

执行如下命令修改日期:

timedatectl set-time YYYY-MM-DD

 备注:修改日志不同时修改时间,将重置现在的时间为00:00:00.

例子:

[root@node1 ~]# timedatectl set-time 2016-04-18
[root@node1 ~]# date
2016年 04月 18日 星期一 00:00:01 CST

 

四、同时修改日期和时间

执行如下命令同时修改日期和时间:

timedatectl set-time 'YYYY-MM-DD HH:MM:SS'

 

例子:

[root@node1 ~]# timedatectl set-time '2016-04-18 10:01:20'
[root@node1 ~]# date
2016年 04月 18日 星期一 10:01:21 CST

 

五、修改时区

执行如下命令显示可用的时区:

timedatectl list-timezones
[root@node1 ~]# timedatectl list-timezones
Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara
Africa/Bamako
Africa/Bangui
Africa/Banjul
...

执行如下命令设置使用的时区:

timedatectl set-timezone time_zone
[root@node1 ~]# timedatectl set-timezone Asia/Shanghai
[root@node1 ~]# date
2016年 04月 18日 星期一 10:05:28 CST
[root@node1 ~]# ls -lrt /etc/localtime
lrwxrwxrwx 1 root root 35 4月  17 00:08 /etc/localtime -> ../usr/share/zoneinfo/Asia/Shanghai

 

六、同步时间到一个远程服务器

timedatectl命令可以用来控制是否开启NTP,开启NTP将启动chronyd或者ntpd服务,依赖于被安装的那个。

timedatectl set-ntp boolean

开启:timedatectl set-ntp yes

关闭:timedatectl set-ntp no

备注:

  • 执行set-ntp时会同时开启或关闭ntpd或者chronyd服务。但是ntpd服务和chronyd可以通过systemctl命令来单独控制,不是必须使用timedatectl来进行控制。
  • 如果使用set-ntp是yes的状态(即:timedatectl命令中NTP enabled状态显示为yes,那么将不能同时使用set-time来修改时间。
[root@node3 ~]# timedatectl
      Local time: 一 2016-04-18 10:25:48 CST
  Universal time: 一 2016-04-18 02:25:48 UTC
        RTC time: 六 2016-04-16 17:09:34
       Time zone: Asia/Shanghai (CST, +0800)
     NTP enabled: yes
NTP synchronized: no
 RTC in local TZ: no
      DST active: n/a
[root@node3 ~]# timedatectl set-time '2016-04-18 10:25:58'
Failed to set time: Automatic time synchronization is enabled
[root@node3 ~]# timedatectl set-ntp no
[root@node3 ~]# timedatectl
      Local time: 一 2016-04-18 10:26:16 CST
  Universal time: 一 2016-04-18 02:26:16 UTC
        RTC time: 六 2016-04-16 17:10:02
       Time zone: Asia/Shanghai (CST, +0800)
     NTP enabled: no
NTP synchronized: no
 RTC in local TZ: no
      DST active: n/a
[root@node3 ~]# timedatectl set-time '2016-04-18 10:26:28'

 

Centos7:timedatectl命令

 

 

要是用root哦

  • 查看系统时间

[root@localhost ~]# date

Tue Jun 13 10:20:13 CST 2017


  • 查看硬件时间

[root@localhost ~]# hwclock --show

Tue 13 Jun 2017 02:11:12 AM CST  -0.848845 seconds

可以看出系统时间比硬件时间快,系统时间是准确的


假如系统时间和硬件时间都不准确

  • 更新系统年月日

[root@localhost ~]# timedatectl set-time 2017-06-13


  • 更新系统时分秒

[root@localhost ~]# timedatectl set-time 10:25:17


  • 更新时区(亚洲-中国-上海)

[root@localhost ~]# timedatectl set-timezone Asia/Shanghai


  • 将硬件时钟调整为与系统时钟一致

[root@localhost ~]# timedatectl set-local-rtc 1

或者

[root@localhost ~]# hwclock --systohc --localtime


  • 将日期写入CMOS

[root@localhost ~]# clock –w


再次查看系统时间和硬件时间,他们就一致了

 

 

 

 

 

设置Linux的时钟 

  在 Linux中,用于时钟查看和设置的命令主要有date、hwclock和clock。其中,clock和hwclock用法相近,只不过clock命令除了支持x86硬件体系外,还支持Alpha硬件体系。由于目前绝大多数用户使用x86硬件体系,所以可以视这两个命令为一个命令来学习。 

  1.在虚拟终端中使用date命令来查看和设置系统时间 

  查看系统时钟的操作: 

  # date 

  设置系统时钟的操作: 

  # date 091713272003.30 

  通用的设置格式: 

  # date 月日时分年.秒 

  2.使用hwclock或clock命令查看和设置硬件时钟 

  查看硬件时钟的操作: 

  # hwclock --show 或 

  # clock --show 

  2003年09月17日 星期三 13时24分11秒 -0.482735 seconds 

  设置硬件时钟的操作: 

  # hwclock --set --date="09/17/2003 13:26:00" 

  或者 

  # clock --set --date="09/17/2003 13:26:00" 

  通用的设置格式:hwclock/clock --set --date=“月/日/年 时:分:秒”。 

  3.同步系统时钟和硬件时钟 

  Linux系统(笔者使用的是Red Hat 8.0,其它系统没有做过实验)默认重启后,硬件时钟和系统时钟同步。如果不大方便重新启动的话(服务器通常很少重启),使用clock或hwclock命令来同步系统时钟和硬件时钟。 

  硬件时钟与系统时钟同步: 

  # hwclock --hctosys 

  或者 

  # clock --hctosys 

  上面命令中,--hctosys表示Hardware Clock to SYStem clock。 

  系统时钟和硬件时钟同步: 

  # hwclock --systohc 

  或者 

  # clock --systohc 

  使用图形化系统设置工具设置时间 

  对于初学者来,笔者推荐使用图形化的时钟设置工具,如Red Hat 8.0中的日期与时间设置工具,可以在虚拟终端中键“redhat-config-time”命令,或者选择“K选单/系统设置/日期与时间”来启动日期时间设置工具。使用该工具不必考虑系统时间和硬件时间,只需从该对话框中设置日期时间,可同时设置、修改系统时钟和硬件时钟。 

  Internet同步时钟设置 

  在Windows XP日期与时间设置中有一项与Internet同步的功能,有了这项功能只要上网便可得到十分准确的时间。Red Hat 8.0也提供了这样的功能,在日期与时间设置工具对话框中的下部,有一个“启用网络时间协议”的选项,将该项选中就可以使用网络时间协议来同步Linux 系统时钟。选中该项后,其下面的服务器下拉列表框就变为可用状态,可从中选择一个时间服务器作为远程时间服务器。然后单击确定按钮,便可连接所设定的时间服务器,并与之同步时间。

上一篇:java – 如何在以下上下文中确保线程安全?


下一篇:设置centos7上的时间与网络同步