1. 程式人生 > >CentOS7--配置時間和日期

CentOS7--配置時間和日期

缺省 顯示 start 運行 shang 使用 lean tle ice

CentOS7提供三個命令行工具,可用於配置和顯示有關系統日期和時間的信息。

  1. timedatectl:實用程序是紅帽企業版Linux 7中的新增功能,也是systemd其中的一部分。
  2. date:系統時鐘,也成為軟件時鐘,一旦系統啟動並且系統時鐘被初始化,系統時鐘就完全獨立硬件時鐘。
  3. hwclock: real-time clock (RTC)通常被稱為硬件時鐘,(在系統集成電路板上),完全獨立於操作系統的當前狀態的,即使在計算機被關閉。實時時鐘可以使用UTC( Universal Time)或本地時間,建議使用UTC。

使用timedatectl命令

顯示當前日期和時間:
timedatectl
[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狀態不會立即生效,需要執行:

systemctl restart systemd-timedated.service
改變當前時間

該命令同時更新系統時間和硬件時鐘。其結果類似於使用date --sethwclock --systohc命令。如果NTP啟用服務,該命令將失敗。

[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,如果要配置為當地時間,使用root運行命令set-local-rtc

timedatectl set-local-rtc boolean

  更換布爾為yes或者no,默認是no

更改當前日期

timedatectl set-time YYYY-MM-DD

  請註意,更改日期而不指定當前時間會導致將時間設置為00:00:00。

要將當前日期更改為2017年6月2日並保持當前時間(下午11:26)

timedatectl set-time 2017-06-02 23:26:00 
更改時區

列出時區

timedatectl list-timezones|grep Asia

 更改時區為香港

timedatectl set-timezone Asia/Hong_Kong
使系統時鐘與遠程服務器同步

timedatectl命令還允許您使用該NTP協議啟用系統時鐘與一組遠程服務器的自動同步啟用NTP將啟用chronydntpd服務,具體取決於它們中的哪一個被安裝。

timedatectl set-ntp boolean

  啟用同步

[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命令

[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
改變當前時間

更改時間

date -s 23:43:45

同時更改時間和日期

要將當前日期更改為2017年6月2日並保持當前時間(下午11:26)

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

更改日期而不指定當前時間會導致將時間設置為00:00:00

 

CentOS7--配置時間和日期